Commit Graph

3748 Commits

Author SHA1 Message Date
Chris Lattner 635d8919a7 ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say
that they preserve all xforms

llvm-svn: 3925
2002-09-25 22:27:54 +00:00
Chris Lattner ceae380b2c Convert BasicVN to be an ImmutablePass
llvm-svn: 3924
2002-09-25 22:27:25 +00:00
Chris Lattner 480b37d479 * Fix ugly bug in previous checkin where I reused the name 'i' one too many times
* Print out immutable passes in the -debug-pass=Structure report.

llvm-svn: 3923
2002-09-25 22:26:52 +00:00
Chris Lattner 81f4eaab04 Convert BasicAA to be an immutable pass instead of a FunctionPass
llvm-svn: 3922
2002-09-25 22:00:18 +00:00
Chris Lattner ee0788d42d Add support for ImmutablePasses, which are not run, and cannot be
invalidated.

llvm-svn: 3921
2002-09-25 21:59:11 +00:00
Nick Hildenbrandt 88e87783b8 Strings now handled correctly.
llvm-svn: 3920
2002-09-25 20:29:26 +00:00
Chris Lattner 7a6ce5a28c Checkin stub for Misha to implement
llvm-svn: 3919
2002-09-25 19:10:06 +00:00
Chris Lattner 8d081dd436 Make sure to print message when linking a debug .o file
llvm-svn: 3918
2002-09-25 17:15:22 +00:00
Chris Lattner b408154f5f - Fix bug: Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
llvm-svn: 3917
2002-09-24 21:19:41 +00:00
Chris Lattner 4357e54760 Eliminate extraneous #include
llvm-svn: 3916
2002-09-24 21:18:40 +00:00
Chris Lattner 588378fb38 A lot of this stuff has been done. Remove the done items
llvm-svn: 3915
2002-09-24 16:15:36 +00:00
Chris Lattner 4e6e0eda00 New feature test for something we have done for a long time
llvm-svn: 3914
2002-09-24 16:13:20 +00:00
Chris Lattner d6dcd8ec32 Fix bug: SimplifyCFG/2002-09-24-PHIAssertion.ll
llvm-svn: 3913
2002-09-24 16:09:17 +00:00
Chris Lattner 710e9a5c65 New testcase that causes SimplifyCFG to assert out.
llvm-svn: 3912
2002-09-24 16:02:44 +00:00
Chris Lattner c05ad96803 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3911
2002-09-24 15:52:01 +00:00
Chris Lattner 75f80bd0b6 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3910
2002-09-24 15:51:56 +00:00
Chris Lattner 068c681a84 - Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
removing it from Transforms/Local.h and from Transforms/Utils/*

llvm-svn: 3909
2002-09-24 15:51:54 +00:00
Chris Lattner b4e7e22be3 Correlated Exprs pass now requires BCE pass instead of doing it manually
llvm-svn: 3908
2002-09-24 15:43:56 +00:00
Chris Lattner 4bec665b09 - Expose passinfo from BreakCriticalEdges pass so that it may be "Required"
by other passes.  Make BCE pass be in anonymous namespace now.

llvm-svn: 3907
2002-09-24 15:43:12 +00:00
Chris Lattner 13fea86b05 Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
other passes

llvm-svn: 3906
2002-09-24 15:42:27 +00:00
Chris Lattner 47c2e3e952 Make sure to close the file before deleting it
llvm-svn: 3905
2002-09-24 00:09:48 +00:00
Chris Lattner 5325c5f340 Minor cleanups
llvm-svn: 3904
2002-09-24 00:09:26 +00:00
Chris Lattner b03832d5d0 Add new BreakCriticalEdges pass
llvm-svn: 3903
2002-09-24 00:08:39 +00:00
Chris Lattner 9f48a00e43 Add new BreakCriticalEdges pass
llvm-svn: 3902
2002-09-24 00:08:37 +00:00
Chris Lattner 34d39668f9 There are no implicit gep forms of load and store anymore
llvm-svn: 3901
2002-09-24 00:08:01 +00:00
Chris Lattner c952e4558b Make users of FindUsedTypes not have problems with linkage. This fixes
Cwriter.

llvm-svn: 3900
2002-09-24 00:07:21 +00:00
Chris Lattner fc75a8552d Make users of FindUsedTypes not have problems with linkage. This fixes
cwriter.

llvm-svn: 3899
2002-09-24 00:07:17 +00:00
Chris Lattner d4c8f4e826 Convert to using long indexes instead of uint
llvm-svn: 3898
2002-09-23 23:41:53 +00:00
Chris Lattner 555518c70f Optimize away cases like:
%cast109 = cast uint %cast212 to short          ; <short> [#uses=1]
        %cast214 = cast short %cast109 to uint          ; <uint> [#uses=1]
        %cast215 = cast uint %cast214 to short          ; <short> [#uses=1]

llvm-svn: 3897
2002-09-23 23:39:43 +00:00
Chris Lattner ef453e2800 Add some more testcases for things to get optimized away
llvm-svn: 3896
2002-09-23 23:39:17 +00:00
Chris Lattner 28d103548d Fix: ConstantMerge/2002-09-23-CPR-Update.ll
Basically, this bug boiled down to calling replaceUsesOfWith on a constant,
which changed it's shape in an illegal way.  This pass now goes through all
of the trouble neccesary to do the replacement on constants.

llvm-svn: 3895
2002-09-23 23:00:46 +00:00
Chris Lattner be4521f333 New testcase distilled from SPEC vortex benchmark
llvm-svn: 3894
2002-09-23 22:31:04 +00:00
Chris Lattner 935559ad2a Run constantmerge tests too
llvm-svn: 3893
2002-09-23 22:26:23 +00:00
Nick Hildenbrandt 9cedce62ee Parenthesis are now added to casts of type array.
llvm-svn: 3892
2002-09-23 21:02:50 +00:00
Chris Lattner 7ccb217f21 * Fix bug: CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
* Make sure "Changed" is updated correctly

llvm-svn: 3891
2002-09-23 20:06:22 +00:00
Chris Lattner caad373759 Fix testcase to accurately expose bug
llvm-svn: 3890
2002-09-23 20:04:54 +00:00
Chris Lattner 16c563fd78 New testcase distilled from SPEC MCF benchmark
llvm-svn: 3889
2002-09-23 19:54:06 +00:00
Chris Lattner 4037a261d8 Insert resolved constants into the global map so they are reused correctly.
This bug was exposed linking the SPEC benchmark suite.

llvm-svn: 3888
2002-09-23 18:14:15 +00:00
Chris Lattner 6b9be6f95a Group #includes better
llvm-svn: 3887
2002-09-23 17:45:52 +00:00
Vikram S. Adve ff0ebda5d7 Allow LLC to be executed on Linux; only the LLC output should not be executed.
llvm-svn: 3886
2002-09-23 14:24:19 +00:00
Vikram S. Adve b4e9f91b81 C tests are run via Makefile.singlesrc so don't run them twice.
llvm-svn: 3885
2002-09-23 14:23:15 +00:00
Vikram S. Adve 8e6e1816c0 Put intermediate source files in a subdirectory here instead of with
object files.  Also,

llvm-svn: 3884
2002-09-23 13:12:28 +00:00
Vikram S. Adve 7765a4a4f6 Disable reassociation pass in LLC until it is fixed.
llvm-svn: 3883
2002-09-23 12:55:50 +00:00
Chris Lattner 20ebb24264 'whoami' doesn't exist on solaris
llvm-svn: 3882
2002-09-22 23:35:11 +00:00
Chris Lattner 0fbbd8a742 Update url
llvm-svn: 3881
2002-09-22 21:25:12 +00:00
Chris Lattner 1047feff1b Add information about the DEBUG() macro and the Statistic template
llvm-svn: 3880
2002-09-22 19:38:40 +00:00
Chris Lattner 387d76a983 * Remove the -stopraise option, which is no longer needed now that we have
the -debug-pass=Arguments option
* Run instcombining BEFORE mem2reg so that getelementptr X, long 0's are
  cleaned up.  This is also important because scalar replacement of aggr.
  will want instcombine to run before it goes as well.

llvm-svn: 3879
2002-09-22 18:50:22 +00:00
Chris Lattner facc751260 Don't insert a PHI node to merge "returns" from an inlined function if there
is only a single return from the function!

llvm-svn: 3878
2002-09-22 18:41:25 +00:00
Chris Lattner a8ce09e2de * Minor fixes to support C files.
* Build burg as a utility now, change its location
* Clean up other rules

llvm-svn: 3876
2002-09-22 02:47:15 +00:00
Chris Lattner 75246ec78d Clean up dead rules
llvm-svn: 3875
2002-09-22 02:41:20 +00:00