Chris Lattner
1ad22dedd1
Add new 'isComplete' method
...
llvm-svn: 6943
2003-06-28 21:56:42 +00:00
Chris Lattner
111065409a
New testcase
...
llvm-svn: 6942
2003-06-28 21:56:22 +00:00
Chris Lattner
2890f428a9
New pass to perform DSA based optimizations. Initially we just support turning
...
globals into constants if we can prove it's safe
llvm-svn: 6941
2003-06-28 21:54:55 +00:00
Chris Lattner
58626c9be7
New makefile for Dsgraph tests
...
llvm-svn: 6940
2003-06-28 21:16:38 +00:00
Chris Lattner
34a4ddae0f
Add DSGraph to the tests
...
llvm-svn: 6939
2003-06-28 21:16:27 +00:00
Chris Lattner
d401f39872
Avoid printing out huge structures or arrays if they are just filled with zeros
...
llvm-svn: 6938
2003-06-28 20:08:24 +00:00
Chris Lattner
7969401e16
Add support for a new zeroinitializer token which can be used to get rid of
...
huge arrays of zero initialized values
llvm-svn: 6937
2003-06-28 20:01:34 +00:00
Chris Lattner
37d4db2e7b
Add test for new zeroinitializer token
...
llvm-svn: 6936
2003-06-28 20:01:03 +00:00
Chris Lattner
fd7016a8ba
jmp_buf is really a pointer type that is passed around...
...
llvm-svn: 6935
2003-06-28 19:29:34 +00:00
Chris Lattner
27223935d7
Add support for the Invoke instruction!
...
llvm-svn: 6934
2003-06-28 17:53:05 +00:00
Chris Lattner
2d52dd12b2
New testcase for invoke support
...
llvm-svn: 6933
2003-06-28 17:52:38 +00:00
Chris Lattner
a80de5a3be
Preserve compatibility with non-gcc compilers
...
llvm-svn: 6932
2003-06-28 17:15:12 +00:00
Chris Lattner
90921a7eee
Fix bug: CBackend/2003-06-28-LinkOnceGlobalVars.llx
...
llvm-svn: 6931
2003-06-28 17:08:36 +00:00
Chris Lattner
de025f3220
New testcase
...
llvm-svn: 6930
2003-06-28 17:07:23 +00:00
Chris Lattner
fbfcf01b98
Allow the inlining limit to be controlled from the command line!
...
llvm-svn: 6929
2003-06-28 15:57:04 +00:00
Chris Lattner
719c715639
Add support for 'unsigned' command line arguments
...
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
John Criswell
abebb9af11
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
8224df947c
Added the OPTIONAL_DIRS variable for specifying optional directories to build.
...
llvm-svn: 6926
2003-06-27 16:58:44 +00:00
Chris Lattner
8bf2e04b87
New testcase that crashes the cfe
...
llvm-svn: 6925
2003-06-27 02:37:53 +00:00
Brian Gaeke
c1e4ee0f50
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
92aefe564a
Here are the notes from our Reoptimizer meetings.
...
llvm-svn: 6923
2003-06-26 20:37:42 +00:00
Chris Lattner
5a42f1b49e
Modify script to support checkins on branches
...
llvm-svn: 6921
2003-06-26 20:11:07 +00:00
Brian Gaeke
4ab222142f
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
d104cdb0ba
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
eaae578820
Add support to globaldce for deleting dead function prototypes
...
llvm-svn: 6918
2003-06-26 05:41:18 +00:00
Chris Lattner
fd5d323ea9
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
c8a619313a
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
b254fe29d2
New variable which is just the GCCLD tool
...
llvm-svn: 6914
2003-06-26 05:28:00 +00:00
Chris Lattner
4ede64e304
Implement more aggressive folding of constant GEP instructions
...
llvm-svn: 6913
2003-06-26 05:22:45 +00:00
Chris Lattner
0f1d8a3947
Add support for elimination of load instruction from global constants
...
llvm-svn: 6912
2003-06-26 05:06:25 +00:00
Chris Lattner
8c4b0d05ee
add tests for elimination of loads
...
llvm-svn: 6911
2003-06-26 05:05:51 +00:00
Chris Lattner
e4b7d467f8
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
0fe5e45ee9
Don't register the destructors if the list is empty
...
llvm-svn: 6909
2003-06-26 04:20:38 +00:00
Brian Gaeke
dda8abec9b
Integrate the C writer's name mangler.
...
llvm-svn: 6908
2003-06-25 22:00:39 +00:00
Brian Gaeke
25e766aca5
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
63912f05ab
Add test for instcombine -1*X -> -X
...
llvm-svn: 6905
2003-06-25 17:10:34 +00:00
Chris Lattner
35236d8477
Instcombine: X * -1 -> -X
...
llvm-svn: 6904
2003-06-25 17:09:20 +00:00
Chris Lattner
81d75b7cfc
Fix bug: LevelRaise/2003-06-25-ExprAnalysis.ll
...
llvm-svn: 6903
2003-06-25 17:09:03 +00:00
Chris Lattner
930c8595f8
New testcase
...
llvm-svn: 6902
2003-06-25 17:08:34 +00:00
Chris Lattner
b396afde26
Fix bug: Mem2Reg/2003-06-26-IterativePromote.ll
...
llvm-svn: 6901
2003-06-25 14:58:56 +00:00
Chris Lattner
fec65d7526
New testcase
...
llvm-svn: 6900
2003-06-25 14:55:30 +00:00
Chris Lattner
0b3def4d49
Remove completed tasks
...
llvm-svn: 6899
2003-06-25 14:31:06 +00:00
Joel Stanley
fbb9ab4913
- 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
2599356122
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
0192b72fde
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
2ab04f7a41
Add argument to DAE to allow operation on non-internal functions
...
llvm-svn: 6895
2003-06-25 04:12:49 +00:00
Brian Gaeke
7610971759
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
ef3d5d055d
New testcase
...
llvm-svn: 6893
2003-06-24 23:40:27 +00:00
Chris Lattner
7f8bb880b4
Don't print message, remove temp files
...
llvm-svn: 6892
2003-06-24 23:38:09 +00:00
Chris Lattner
ee967711e9
Fix bug: ADCE/2003-06-24-BadSuccessor.ll
...
llvm-svn: 6891
2003-06-24 23:02:45 +00:00