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
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
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
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
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
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
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
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
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
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
bfd3a6afb0
Makefile change for IPO's that use the Datastructure analysis stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2015 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 18:10:31 +00:00
Chris Lattner
328207c3ff
Add hook for pool allocation pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2013 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 18:08:07 +00:00
Chris Lattner
fe59454fa2
Checking for Cameron
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2011 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-28 17:56:28 +00:00
Vikram S. Adve
d32e70a09f
Rename pass to DecomposeMultiDimRefs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-24 03:19:54 +00:00
Chris Lattner
2b72c360bb
Expose dead instruction elimination pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1877 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-14 22:36:15 +00:00
Chris Lattner
71e7bb4bc0
Pull interprocedural analyses out of Analysis library into their own lib
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1827 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-06 18:44:29 +00:00
Chris Lattner
bd0ef77cde
Change over to use new style pass mechanism, now passes only expose small
...
creation functions in their public header file, unless they can help it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:46:54 +00:00
Chris Lattner
eded4916d6
Move ProfilePaths class into ProfilePaths library, only expose a creation function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1812 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 20:04:59 +00:00
Anand Shukla
dc9a1f5ce8
Includes -paths option to trace paths in the program
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1811 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 19:57:59 +00:00
Anand Shukla
06e84ed495
Link in the PathProfiles library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 18:29:20 +00:00
Chris Lattner
22d26d7c7d
* Expose the verifier pass as one that can be ran
...
* Force the verifier to run before bytecode is written
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1783 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-20 17:56:53 +00:00
Chris Lattner
eeeaf52ab6
Enable register promotion pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1740 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-12 17:17:33 +00:00
Chris Lattner
0be4101d12
Add mergereturn pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1629 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-01 04:54:11 +00:00
Chris Lattner
6a39f2c80c
Resolve dependencies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1614 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 15:43:11 +00:00
Chris Lattner
fb1b3f119d
Convert to use new Pass framework...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1610 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-31 00:47:12 +00:00
Chris Lattner
888912dbe0
In an amazing fit of stupidity, I flipped the conditional and didn't test
...
it right. Sheesh :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 21:07:24 +00:00
Chris Lattner
d7db863c1d
Rename LowerAllocations.h to ChangeAllocations.h since it now contains the
...
RaiseAllocations pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 01:04:08 +00:00
Chris Lattner
5048c3b853
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 00:13:51 +00:00
Chris Lattner
59b6b8e0b3
Move stuff out of the Optimizations directories into the appropriate Transforms
...
directories. Eliminate the opt namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:17:48 +00:00
Chris Lattner
8efb9d733f
Eliminate opt library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1516 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 23:13:46 +00:00
Chris Lattner
04c85dcad8
Rename SwapStructureContents -> IPO/SimpleStructMutation
...
Move MutateStructTypes.(cpp|h) -> IPO/MutateStructTypes.(cpp|h)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1510 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:52:35 +00:00
Chris Lattner
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
Chris Lattner
697954c15d
Changes to build successfully with GCC 3.02
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
528e8b58a5
Add instruction combining pass
...
Rename -mergecons to -constmerge
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1478 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:50:35 +00:00
Chris Lattner
e04a967e7e
Remove unnecesary namespace impot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1419 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-05 06:35:30 +00:00
Chris Lattner
fe196cf98b
Use new induction variable simplification code with -indvars option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1410 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-04 04:32:04 +00:00
Chris Lattner
cee8f9ae67
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-27 00:03:19 +00:00
Chris Lattner
63202328d3
* Add hooks to globaldce
...
* Fix ugly hacks by implementing IPOs correctly
* Use an auto_ptr to manage the module lifecycle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1395 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:22:39 +00:00
Chris Lattner
aa4730d9c3
Link to ipo library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1394 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:21:02 +00:00
Chris Lattner
ee6826b5e3
Change swapstructs itf
...
Add nasty hack to be removed later
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1356 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:18:53 +00:00
Chris Lattner
854acb996e
Add hooks to call the new swap structcontents pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1243 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:16:10 +00:00
Chris Lattner
e764f60710
add Yet Another Instance of a Static Library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1242 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-10 07:15:53 +00:00