Reid Spencer
a9cff027ba
Add a test case for PR902.
...
llvm-svn: 30653
2006-09-28 21:20:05 +00:00
Chris Lattner
c1adb2f1d3
Shift amounts are always 32-bits, even in 64-bit mode. This fixes
...
CodeGen/PowerPC/2006-09-28-shift_64.ll
llvm-svn: 30652
2006-09-28 20:48:45 +00:00
Chris Lattner
69a6c409d3
new testcase
...
llvm-svn: 30651
2006-09-28 20:48:17 +00:00
Reid Spencer
0d237ceba1
Fix PR902:
...
Errors are generated with the YYERROR macro which can only be called from
a production (inside yyparse) because of the goto statement in the macro.
This lead to several situations where GEN_ERROR was not called but
GenerateError was used instead (because it doesn't use YYERROR). However,
in such situations, catching the error much later (e.g. at the end of
the production) is not sufficient because LLVM can assert on invalid data
before the end of the production is reached. The solution is to ensure that
the CHECK_FOR_ERROR macro (which invokes YYERROR if there's an error) is
used as soon as possible after a call to GenerateError has been made.
llvm-svn: 30650
2006-09-28 19:28:24 +00:00
Chris Lattner
91b0d2fded
Testcase for PR924
...
llvm-svn: 30649
2006-09-28 18:58:02 +00:00
Evan Cheng
5a3f89027f
TargetRegisterClass specifies the desired spill alignment. However, it cannot be honored if stack alignment is smaller.
...
llvm-svn: 30648
2006-09-28 18:52:32 +00:00
Jim Laskey
654a319cca
Fix search file for -release.
...
llvm-svn: 30647
2006-09-28 18:45:11 +00:00
Jim Laskey
b9f4391b46
Add support for -release-asserts.
...
llvm-svn: 30646
2006-09-28 17:49:20 +00:00
Reid Spencer
e64d1d0482
Provide a gdb usage fix provided by Zhongzing Xu.
...
llvm-svn: 30645
2006-09-28 16:53:47 +00:00
Bill Wendling
deaf6398fc
"Once more into the breach, dear friends, once more, or fill the wall up
...
with our English dead."
No! Really! Serious this time...It was how the vreg uses were being
adjusted that was causing hte Olden tests to fail. I corrected this and
the Olden and Regression tests all passed.
llvm-svn: 30644
2006-09-28 07:10:24 +00:00
Chris Lattner
b512048344
refactor critical edge breaking out into the SplitCritEdgesForPHIConstants method.
...
This is a baby step towards fixing PR925.
llvm-svn: 30643
2006-09-28 06:17:10 +00:00
Chris Lattner
6dc95b7b26
add a note about a general improvement to the code generator
...
llvm-svn: 30642
2006-09-28 06:01:17 +00:00
Chris Lattner
4c15e307ef
remove reference to dead method
...
llvm-svn: 30641
2006-09-28 00:38:19 +00:00
Chris Lattner
7e0e7c7bc9
remove dead method
...
llvm-svn: 30640
2006-09-28 00:37:43 +00:00
Chris Lattner
5271c8739a
Use the new ManagedStatic class to explicitly manage static variables, eliminating static ctors/dtors
...
llvm-svn: 30639
2006-09-28 00:35:06 +00:00
Chris Lattner
30da1ba0a2
new helper class to provide more explicit management of static ctor/dtors.
...
llvm-svn: 30638
2006-09-28 00:31:55 +00:00
Chris Lattner
616a120782
re-re-revert this, back to the right revision. It currently breaks bisort/mst
...
in olden among others.
llvm-svn: 30637
2006-09-28 00:11:54 +00:00
Evan Cheng
5e8af45ddb
PEI now place callee save spills closest to the address pointed to by the
...
incoming stack. This allows X86 backend to use push / pop in epilogue /
prologue.
llvm-svn: 30636
2006-09-28 00:10:27 +00:00
Evan Cheng
51144ea51c
- Added a hook processFunctionBeforeCalleeSaveScn(). This is called by PEI just
...
before it determines which callee-save registers are to be spilled. This allows
the target to make changes such as forcing certain physical registers to be
spilled.
- Modified comments. It's important to note the order of registers in the array
returns by getCalleeSaveRegs() determines the order of callee save spill code.
llvm-svn: 30635
2006-09-28 00:07:19 +00:00
Chris Lattner
72d308b1e8
re-revert this patch, bisort and mst are still broken in Olden.
...
llvm-svn: 30634
2006-09-28 00:04:21 +00:00
Bill Wendling
9b8d1f3eb6
Reapplying this patch. With the newest commits, the error in Olden/bisort
...
has disappeared.
llvm-svn: 30633
2006-09-27 22:37:35 +00:00
Chris Lattner
0501525c0e
silence warnings in release build
...
llvm-svn: 30631
2006-09-27 18:29:38 +00:00
Devang Patel
7604cbd117
Fix DFS walk.
...
Fix http://llvm.org/bugs/show_bug.cgi?id=923
llvm-svn: 30630
2006-09-27 17:18:05 +00:00
Chris Lattner
f5e5429cf9
Temporarily revert this. This breaks Olden/bisort on PPC
...
llvm-svn: 30628
2006-09-27 16:59:16 +00:00
Jim Laskey
70a90d65c9
Make sure C++ protection shows up in debug info
...
llvm-svn: 30626
2006-09-27 16:55:19 +00:00
Chris Lattner
4aa2739696
This:
...
AggregateString += "\0\0";
Doesn't add two nuls to the AggregateString (for obvious reasons), which
broke the asmprinter when the first character of an asm string was not
literal text.
llvm-svn: 30625
2006-09-27 16:44:09 +00:00
Bill Wendling
cd762f5482
PR878: Instead of calculating the vreg to PHI use count everytime we get
...
a function, do it up front in linear time (going through all of the
instructions once). We create a map out of them. Then it's no problem to
use the information in it during elimination...
llvm-svn: 30624
2006-09-27 09:04:15 +00:00
Chris Lattner
358e9432a1
set DEBUG_TYPE right
...
llvm-svn: 30623
2006-09-27 04:58:23 +00:00
Devang Patel
e7c6b0e0e5
Add http://llvm.org/bugs/show_bug.cgi?id=923 test case.
...
llvm-svn: 30622
2006-09-27 02:58:44 +00:00
Chris Lattner
26213b40aa
Use abstract private/comment directives, to increase portability to ppc/linux
...
llvm-svn: 30621
2006-09-27 02:55:21 +00:00
Chris Lattner
433de75585
Add support for ${:private} which prints "L" on darwin.
...
llvm-svn: 30620
2006-09-27 00:06:07 +00:00
Chris Lattner
ddf92db1ca
Add support for ${:comment}, which expands to the current target's comment
...
character, and ${:uid} which expands to a unique ID for the MachineInstr.
More can be added if/when they are needed.
llvm-svn: 30619
2006-09-26 23:59:50 +00:00
Chris Lattner
7c98cc2aab
Actually, name the method PrintSpecial to match other stuff in AsmPrinter.h
...
llvm-svn: 30618
2006-09-26 23:47:10 +00:00
Chris Lattner
10e06fa138
Add support for ${:foo} syntax, where "foo" is passed into "printSpecial" and
...
has no associated operand. This is useful for portably encoding stuff like
the comment character into an asm string.
llvm-svn: 30617
2006-09-26 23:45:08 +00:00
Evan Cheng
310d2abd29
Rename function. It's determining which callee-save registers to save.
...
llvm-svn: 30616
2006-09-26 22:29:31 +00:00
Andrew Lenharth
96c41b6c3c
Comments on JumpTableness
...
llvm-svn: 30615
2006-09-26 20:02:30 +00:00
Jim Laskey
74ba822f79
Load chain check is not needed
...
llvm-svn: 30613
2006-09-26 17:44:58 +00:00
Jim Laskey
2a8d8270eb
Chain can be any operand
...
llvm-svn: 30611
2006-09-26 09:32:41 +00:00
Jim Laskey
ae81857cba
Wrong size for load
...
llvm-svn: 30610
2006-09-26 08:14:06 +00:00
Jim Laskey
d72f4cfe04
Can't move a load node if it's chain is not used.
...
llvm-svn: 30609
2006-09-26 07:37:42 +00:00
Chris Lattner
b826d65e01
Various random and minor code cleanups.
...
llvm-svn: 30608
2006-09-26 03:57:53 +00:00
Chris Lattner
c5f6ea0da9
test that the no_dead_strip directive is emitted on darwin-x86
...
llvm-svn: 30607
2006-09-26 03:44:20 +00:00
Chris Lattner
c628ee3402
print the preds of each MBB
...
llvm-svn: 30606
2006-09-26 03:41:59 +00:00
Chris Lattner
09176ab54f
Compile:
...
int x __attribute__((used));
to:
.data
.comm _x,4 ; 'x'
.no_dead_strip _x
on both x86 and ppc darwin targets.
llvm-svn: 30605
2006-09-26 03:39:53 +00:00
Chris Lattner
167aa73273
Add support for targets that want to do something with the llvm.used list,
...
because they have an aggressive linker that does dead code stripping.
llvm-svn: 30604
2006-09-26 03:38:18 +00:00
Chris Lattner
bab51c66fc
order this properly to avoid warnings in TargetAsmInfo.cpp. Add a comment
...
in a format that matches every other ivars in this class.
llvm-svn: 30603
2006-09-25 22:38:36 +00:00
Jim Laskey
6ae9f53d2c
Accidental enable of bad code
...
llvm-svn: 30601
2006-09-25 21:11:32 +00:00
Jim Laskey
640b7dbed5
Fix chain dropping in load and drop unused stores in ret blocks.
...
llvm-svn: 30600
2006-09-25 19:32:58 +00:00
John Criswell
eda10c2fcd
Regression test for PR#922.
...
llvm-svn: 30599
2006-09-25 19:12:01 +00:00
Chris Lattner
2281c3f6ca
more notes
...
llvm-svn: 30598
2006-09-25 17:12:14 +00:00