Commit Graph

6435 Commits

Author SHA1 Message Date
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
Chris Lattner 67baccf458 New testcase
llvm-svn: 6890
2003-06-24 22:58:05 +00:00
Chris Lattner 8bd8bc8399 Make assertion more descriptive
llvm-svn: 6889
2003-06-24 22:20:19 +00:00
Chris Lattner 0892887b1f Modernize testcase
llvm-svn: 6888
2003-06-24 21:51:03 +00:00
Chris Lattner 834105502d 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 f65c39946a modernize testcase
llvm-svn: 6886
2003-06-24 21:23:50 +00:00
Chris Lattner 70f3ad6eb3 Make sure adce is basically working!
llvm-svn: 6885
2003-06-24 21:22:09 +00:00
Chris Lattner 639d5880f6 Modernize testcases
llvm-svn: 6884
2003-06-24 21:21:31 +00:00
Chris Lattner 7e270580c8 Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.ll
llvm-svn: 6883
2003-06-24 20:29:52 +00:00
Chris Lattner 4ded20b380 New testcase
llvm-svn: 6882
2003-06-24 20:29:36 +00:00
Chris Lattner f7544873de Fix bug: TailDup/2003-06-24-Simpleloop.ll
llvm-svn: 6881
2003-06-24 19:48:06 +00:00
Chris Lattner 17b4e96e7e Testcase reduced by bugpoint
llvm-svn: 6880
2003-06-24 19:17:37 +00:00
Chris Lattner d410284dd2 Run the tail dup tests
llvm-svn: 6879
2003-06-24 18:49:51 +00:00
Joel Stanley d1e35d03b3 Prevented inclusion of (non-existent) stdint.h on Sparc.
llvm-svn: 6876
2003-06-24 02:46:47 +00:00
Chris Lattner 55d4bda861 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 eea63a519a Fix comment
llvm-svn: 6872
2003-06-23 21:52:59 +00:00
Chris Lattner b501ef80ff Yet another testcase
llvm-svn: 6871
2003-06-23 21:49:25 +00:00
Chris Lattner 4bc0c4b974 Test cases for when casts to bool can be eliminated
llvm-svn: 6870
2003-06-23 21:48:26 +00:00
Brian Gaeke 04bdfe624c Fix 2003-06-23-PromotedExprs.llx -- if we are adding two bytes we better
explicitly cast the result to be a byte, or C will gleefully promote it
to int.

llvm-svn: 6869
2003-06-23 20:00:51 +00:00
Brian Gaeke 226563f7b9 New test case for C Writer regression found in 256.bzip2
llvm-svn: 6868
2003-06-23 19:59:17 +00:00
Brian Gaeke bf4cc5e735 Allow .llx testcases (i.e., those that contain explicit RUN: stmts.)
llvm-svn: 6867
2003-06-23 19:58:50 +00:00