Commit Graph

243 Commits

Author SHA1 Message Date
Chris Lattner
4ad532299a Run another local value numbering phase after redundancy elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2625 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-14 16:23:14 +00:00
Chris Lattner
6cb9743eb8 expose LICM pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2614 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:37 +00:00
Chris Lattner
88fcc513aa Add LICM pass to compiler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2613 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 22:44:31 +00:00
Chris Lattner
e04f4b60c6 Expose the lowerallocs pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2602 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 15:43:07 +00:00
Chris Lattner
2c0f3d23ae Expose the pi node insertion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2594 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-10 05:41:49 +00:00
Chris Lattner
aa3904faff Clean up dis so that it does not print out code in various traversal orders.
Now it only output llvm or C code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2564 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-09 01:25:55 +00:00
Chris Lattner
8947fbcb68 Expose expression reassociation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2557 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 22:18:34 +00:00
Chris Lattner
94fbab0022 Run expression reassociation as part of gccas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2556 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 22:18:20 +00:00
Sumant Kowshik
9ddc86c6e5 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2552 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-08 18:09:58 +00:00
Chris Lattner
73e6298c9a Spell aggressive correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2551 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 22:15:01 +00:00
Chris Lattner
65f1b895bb Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
ddca9d0dcb Fix makefiles after shuffling passes around the libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:27:33 +00:00
Chris Lattner
fc514f40a6 Move UnifyFunctionExitNodes to Utils library: final resting place this time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 19:18:48 +00:00
Chris Lattner
2b5235d650 Oops, somehow lost a slash. Fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:39:52 +00:00
Chris Lattner
c8cc4cb03b Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:36:35 +00:00
Chris Lattner
2154d13354 Straighten out makefiles after moving code to new Transform Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:18:26 +00:00
Chris Lattner
5f06e10a84 GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 18:54:12 +00:00
Chris Lattner
eadd32cda2 Instruction Combination can create a ton of trivially dead instructions. Remove
them with an DIE pass before more expensive optimizations are run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2491 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 16:52:15 +00:00
Chris Lattner
9c1291c85e Run DCE AFTER SCCP and GCSE!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2476 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:04:17 +00:00
Chris Lattner
e23476a027 Remove unneccesary pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2421 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-30 20:53:05 +00:00
Chris Lattner
91b078dd54 These aren't tools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2412 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 20:29:30 +00:00
Chris Lattner
8ac58a83eb Move constant merging pass earlier
Include the SCCP pass in gccas


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2410 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 20:11:38 +00:00
Chris Lattner
fbaed2e070 Remove InstForest from analysis namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2401 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 18:13:31 +00:00
Chris Lattner
c6f3ae5c66 Eliminate duplicate or unneccesary #include's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 17:42:12 +00:00
Chris Lattner
96c466b06a Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-29 14:57:45 +00:00
Chris Lattner
e6ef6690b0 Rename functions to be more consistend with other pass constructors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2388 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:45:36 +00:00
Chris Lattner
97e52e4336 Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2386 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 21:27:06 +00:00
Chris Lattner
4ec35ab1c6 Eliminate the cfg namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2371 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 16:21:53 +00:00
Chris Lattner
c6d52e07e5 Expose the internalize pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2365 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:53 +00:00
Chris Lattner
7bf5dfec19 Run the internalize pass to mark all functions except main internal when
linking the final program to allow smarter optimizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:45 +00:00
Chris Lattner
d43035e1d7 Use operator << to print modules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2360 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:13:45 +00:00
Chris Lattner
598d21c7e5 Run GCSE as part of gccas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2340 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 01:00:15 +00:00
Chris Lattner
e5fb83ebb8 Expose new GCSE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2339 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 00:48:17 +00:00
Chris Lattner
483e14ee04 s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 07:27:19 +00:00
Chris Lattner
f57b845547 * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
  - Method is now const
  - It now takes one AnalysisUsage object to fill in instead of 3 vectors
    to fill in
  - Pass's now specify which other passes they _preserve_ not which ones
    they modify (be conservative!)
  - A pass can specify that it preserves all analyses (because it never
    modifies the underlying program)
* s/Method/Function/g in other random places as well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-27 06:56:12 +00:00
Chris Lattner
76d12299b5 Make sure that there is no case where a signal can occur leaving a partially
written output file.  This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:55:25 +00:00
Chris Lattner
30af368082 * Add the printm pass to allow dumping the entire module after a transformation.
* s/Method/Function/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2234 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:32:47 +00:00
Chris Lattner
9d6e7eb74f Expose funcresolve pass through opt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2231 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:21:13 +00:00
Chris Lattner
f8b90ee366 * The cleangcc pass is broken into two parts, we only want to
FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:37:47 +00:00
Chris Lattner
6a1f6940a1 The cleangcc pass is brokeninto two pieces, execute both of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:33:32 +00:00
Chris Lattner
bc55a3140c Remove extranous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2183 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:10 +00:00
Chris Lattner
02d6ef8976 s/PrintMethodPass/PrintFunctionPass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2182 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:05:01 +00:00
Chris Lattner
8bfa89c7f5 Add #includes
s/PrintMethodPass/PrintFunctionPass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2181 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 22:04:24 +00:00
Chris Lattner
2b59837f02 Add support for the gnu ld -s (strip) option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2157 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 05:18:12 +00:00
Chris Lattner
ad202a0620 GCCLD actually does transformations to simplify the linked program now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2155 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 00:14:58 +00:00
Chris Lattner
94202988a8 Remove asmwriter library from link line, because the useful contents of it
have been incorporated into the vmcore library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:35:30 +00:00
Chris Lattner
5bdf161418 Perform debug outputs with ->dump() instead of <<
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2152 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:34:44 +00:00
Chris Lattner
06272dcfb2 use dump method instead of Asm/Writer to do debug printing
Rename C to M because C used to be 'Class' and now we are 'Module'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2151 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 22:34:19 +00:00
Chris Lattner
2fbfdcffd3 Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Chris Lattner
69cd2b1ade Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
references pass, so it is given the chance to do some good!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2089 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-01 19:45:11 +00:00