John Criswell
6fc4a480f3
Added code to the clean rule that deletes files placed in the source directory.
...
These files interfer with a second build attempt.
llvm-svn: 6927
2003-06-27 17:03:20 +00:00
John Criswell
0ac290e21c
Added the OPTIONAL_DIRS variable for specifying optional directories to build.
...
llvm-svn: 6926
2003-06-27 16:58:44 +00:00
Chris Lattner
76e4750aab
New testcase that crashes the cfe
...
llvm-svn: 6925
2003-06-27 02:37:53 +00:00
Brian Gaeke
6f2c46cd52
Nice tasty llc fixes. These should fix LLC for x86 for everything in
...
SingleSource except oopack and Oscar. (Sorry, Oscar.)
include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add
accessors for ImplicitUses/Defs.
lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you
really wanted this, just use MI->print(O, TM); instead...
lib/Target/X86:
FloatingPoint.cpp: ...like this.
X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses
target-specific flag bit.
X86InstrInfo.def: Add the PrintImplUses flag to all the instructions
which implicitly use CL, because the assembler needs to see the CL in
order to generate the right instruction.
Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName
to name constants in the constant pool for each function instead. This
avoids keeping state between runOnMachineFunction() invocations, which
is a no-no. Having MangledGlobals be global is a bogon I'd like to get
rid of too, but making it a static member of Printer causes link errors
(why???).
Make NumberForBB into a member of Printer instead of a global, too.
Make printOp and printMemReference into methods of Printer.
X86InstrInfo::print is now Printer::printMachineInstruction, because
TargetInstrInfo::print is history. (Because of this, we have to qualify
the names of some TargetInstrInfo methods we call.)
Print out the ImplicitUses field of any instruction we print that has
the PrintImplUses bit set.
llvm-svn: 6924
2003-06-27 00:00:48 +00:00
Brian Gaeke
40d8d5e7c5
Here are the notes from our Reoptimizer meetings.
...
llvm-svn: 6923
2003-06-26 20:37:42 +00:00
Chris Lattner
9d2a41f43e
Modify script to support checkins on branches
...
llvm-svn: 6921
2003-06-26 20:11:07 +00:00
Brian Gaeke
7f1a3ef833
Number constants from constant pool as CPIf_i where f is the function index
...
and i is the constant pool index.
llvm-svn: 6920
2003-06-26 18:02:30 +00:00
Chris Lattner
2fec73e216
Add a testcase to ensure that ctor/dtor attributes work in C
...
llvm-svn: 6919
2003-06-26 14:56:36 +00:00
Chris Lattner
6b54665aa9
Add support to globaldce for deleting dead function prototypes
...
llvm-svn: 6918
2003-06-26 05:41:18 +00:00
Chris Lattner
3dc8d444ff
When internalizing global ctor/dtor list, also mark it constant. This is gross, but
...
until DSA is working all of the time and is totally reliable, we do this.
llvm-svn: 6917
2003-06-26 05:30:40 +00:00
Chris Lattner
caa0d010d6
Run the simplify CFG pass after instcombine which has the effect of deleting
...
ALL of the global ctor/dtor stuff if it is not used!
llvm-svn: 6916
2003-06-26 05:29:50 +00:00
Chris Lattner
4b18955832
New variable which is just the GCCLD tool
...
llvm-svn: 6914
2003-06-26 05:28:00 +00:00
Chris Lattner
44730af626
Implement more aggressive folding of constant GEP instructions
...
llvm-svn: 6913
2003-06-26 05:22:45 +00:00
Chris Lattner
0cc143577c
Add support for elimination of load instruction from global constants
...
llvm-svn: 6912
2003-06-26 05:06:25 +00:00
Chris Lattner
d0ba6d6258
add tests for elimination of loads
...
llvm-svn: 6911
2003-06-26 05:05:51 +00:00
Chris Lattner
622df692df
Move the instcombine pass before globaldce, so that if globals are made dead by instcombine, that they can be deleted.
...
llvm-svn: 6910
2003-06-26 04:32:31 +00:00
Chris Lattner
d99475d41a
Don't register the destructors if the list is empty
...
llvm-svn: 6909
2003-06-26 04:20:38 +00:00
Brian Gaeke
ff614a8a0c
Integrate the C writer's name mangler.
...
llvm-svn: 6908
2003-06-25 22:00:39 +00:00
Brian Gaeke
065bf4bab2
First draft of X86 LLC backend. This should be OK for small programs like
...
Shootout, but it has some issues with bigger programs. Work in progress.
llvm-svn: 6907
2003-06-25 18:01:07 +00:00
Chris Lattner
1681e785b3
Add test for instcombine -1*X -> -X
...
llvm-svn: 6905
2003-06-25 17:10:34 +00:00
Chris Lattner
ebbc28f553
Instcombine: X * -1 -> -X
...
llvm-svn: 6904
2003-06-25 17:09:20 +00:00
Chris Lattner
7aa690403b
Fix bug: LevelRaise/2003-06-25-ExprAnalysis.ll
...
llvm-svn: 6903
2003-06-25 17:09:03 +00:00
Chris Lattner
8c1114ab2c
New testcase
...
llvm-svn: 6902
2003-06-25 17:08:34 +00:00
Chris Lattner
0903331006
Fix bug: Mem2Reg/2003-06-26-IterativePromote.ll
...
llvm-svn: 6901
2003-06-25 14:58:56 +00:00
Chris Lattner
63a6427f1a
New testcase
...
llvm-svn: 6900
2003-06-25 14:55:30 +00:00
Chris Lattner
900141777c
Remove completed tasks
...
llvm-svn: 6899
2003-06-25 14:31:06 +00:00
Joel Stanley
0a940fa30a
- Fixed name mangling conditions to handle 'linkonce' linkage type. In
...
particular, name mangling for GlobalValues only occurs when the linkage type is
internal or when the name must be mangled to avoid a collision. See comments in
CWriter::getValueName for more information.
- 'inline' keyword is now emitted for functions with 'linkonce' linkage type.
- Fixed typos.
llvm-svn: 6898
2003-06-25 04:52:09 +00:00
Chris Lattner
ca92cc4853
Try to run cleanups even if nothing was modified in the preview passes
...
llvm-svn: 6897
2003-06-25 04:13:52 +00:00
Chris Lattner
bc15c235dd
Run dead arg elimination, and tell it that it's ok to hack up non-internal functions
...
llvm-svn: 6896
2003-06-25 04:13:36 +00:00
Chris Lattner
e3d0b99978
Add argument to DAE to allow operation on non-internal functions
...
llvm-svn: 6895
2003-06-25 04:12:49 +00:00
Brian Gaeke
6c5d67b96f
It seems likely that floats would need a cast too, because they are
...
ordinarily promoted to doubles.
llvm-svn: 6894
2003-06-25 03:05:33 +00:00
Chris Lattner
cf3f677de0
New testcase
...
llvm-svn: 6893
2003-06-24 23:40:27 +00:00
Chris Lattner
6abc7c65f9
Don't print message, remove temp files
...
llvm-svn: 6892
2003-06-24 23:38:09 +00:00
Chris Lattner
2cd94ee470
Fix bug: ADCE/2003-06-24-BadSuccessor.ll
...
llvm-svn: 6891
2003-06-24 23:02:45 +00:00
Chris Lattner
b5b462bf61
New testcase
...
llvm-svn: 6890
2003-06-24 22:58:05 +00:00
Chris Lattner
ade75cea50
Make assertion more descriptive
...
llvm-svn: 6889
2003-06-24 22:20:19 +00:00
Chris Lattner
8e92c2a5be
Modernize testcase
...
llvm-svn: 6888
2003-06-24 21:51:03 +00:00
Chris Lattner
aac87d1e58
Do not mark ALL terminators live if any instruciton in the block is live. We only
...
want to mark it live if it is an unconditional branch. This fixes bug:
ADCE/2002-05-28-Crash.ll and makes this pass _much_ more useful.
llvm-svn: 6887
2003-06-24 21:49:45 +00:00
Chris Lattner
60bc441d3d
modernize testcase
...
llvm-svn: 6886
2003-06-24 21:23:50 +00:00
Chris Lattner
25868ff22b
Make sure adce is basically working!
...
llvm-svn: 6885
2003-06-24 21:22:09 +00:00
Chris Lattner
56f2a6b272
Modernize testcases
...
llvm-svn: 6884
2003-06-24 21:21:31 +00:00
Chris Lattner
867b7661cb
Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.ll
...
llvm-svn: 6883
2003-06-24 20:29:52 +00:00
Chris Lattner
30f1a88e0c
New testcase
...
llvm-svn: 6882
2003-06-24 20:29:36 +00:00
Chris Lattner
e1051d9fcf
Fix bug: TailDup/2003-06-24-Simpleloop.ll
...
llvm-svn: 6881
2003-06-24 19:48:06 +00:00
Chris Lattner
ec303ed640
Testcase reduced by bugpoint
...
llvm-svn: 6880
2003-06-24 19:17:37 +00:00
Chris Lattner
6666a4cc75
Run the tail dup tests
...
llvm-svn: 6879
2003-06-24 18:49:51 +00:00
Joel Stanley
81aa4149c0
Prevented inclusion of (non-existent) stdint.h on Sparc.
...
llvm-svn: 6876
2003-06-24 02:46:47 +00:00
Chris Lattner
e1f9e715c6
Implement new transforms:
...
Replace (cast (sub A, B) to bool) -> (setne A, B)
Replace (cast (add A, B) to bool) -> (setne A, -B)
llvm-svn: 6873
2003-06-23 21:59:52 +00:00
Chris Lattner
51ce44c8a0
Fix comment
...
llvm-svn: 6872
2003-06-23 21:52:59 +00:00
Chris Lattner
c6f0c13235
Yet another testcase
...
llvm-svn: 6871
2003-06-23 21:49:25 +00:00