Chris Lattner
dcb7ff00b1
Instruction Combination can create a ton of trivially dead instructions. Remove
...
them with an DIE pass before more expensive optimizations are run.
llvm-svn: 2491
2002-05-06 16:52:15 +00:00
Chris Lattner
878bbb2f1c
Run DCE AFTER SCCP and GCSE!
...
llvm-svn: 2476
2002-05-06 03:04:17 +00:00
Chris Lattner
10120bdff0
Remove unneccesary pass.
...
llvm-svn: 2421
2002-04-30 20:53:05 +00:00
Chris Lattner
aa261937c0
These aren't tools
...
llvm-svn: 2412
2002-04-29 20:29:30 +00:00
Chris Lattner
0fb0022f68
Move constant merging pass earlier
...
Include the SCCP pass in gccas
llvm-svn: 2410
2002-04-29 20:11:38 +00:00
Chris Lattner
ce42e8ac31
Remove InstForest from analysis namespace
...
llvm-svn: 2401
2002-04-29 18:13:31 +00:00
Chris Lattner
d5a847057b
Eliminate duplicate or unneccesary #include's
...
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
37104aace8
Add new optional getPassName() virtual function that a Pass can override
...
to make debugging output a lot nicer.
llvm-svn: 2395
2002-04-29 14:57:45 +00:00
Chris Lattner
450bda1a42
Rename functions to be more consistend with other pass constructors
...
llvm-svn: 2388
2002-04-28 21:45:36 +00:00
Chris Lattner
f12cc842b3
Tighten up the AnalysisUsage of lots of passes, primarily to correctly indicate whether or not they invalidate the CFGA
...
llvm-svn: 2386
2002-04-28 21:27:06 +00:00
Chris Lattner
42ec334ea3
Eliminate the cfg namespace
...
llvm-svn: 2371
2002-04-28 16:21:53 +00:00
Chris Lattner
b81da4b616
Expose the internalize pass.
...
llvm-svn: 2365
2002-04-28 05:49:53 +00:00
Chris Lattner
f0f014a182
Run the internalize pass to mark all functions except main internal when
...
linking the final program to allow smarter optimizations
llvm-svn: 2364
2002-04-28 05:49:45 +00:00
Chris Lattner
17a4573d21
Use operator << to print modules
...
llvm-svn: 2360
2002-04-28 05:13:45 +00:00
Chris Lattner
10aa1b64bb
Run GCSE as part of gccas.
...
llvm-svn: 2340
2002-04-28 01:00:15 +00:00
Chris Lattner
9f3b15b8fe
Expose new GCSE pass
...
llvm-svn: 2339
2002-04-28 00:48:17 +00:00
Chris Lattner
f998685cd9
s/Method/Function
...
llvm-svn: 2336
2002-04-27 07:27:19 +00:00
Chris Lattner
c8e665431b
* 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
llvm-svn: 2333
2002-04-27 06:56:12 +00:00
Chris Lattner
c065ad850c
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.
llvm-svn: 2303
2002-04-18 19:55:25 +00:00
Chris Lattner
fda0035ec9
* Add the printm pass to allow dumping the entire module after a transformation.
...
* s/Method/Function/
llvm-svn: 2234
2002-04-13 18:32:47 +00:00
Chris Lattner
b86b11a02e
Expose funcresolve pass through opt
...
llvm-svn: 2231
2002-04-12 18:21:13 +00:00
Chris Lattner
c34061fc54
* 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.
llvm-svn: 2226
2002-04-10 20:37:47 +00:00
Chris Lattner
c4414d4a10
The cleangcc pass is brokeninto two pieces, execute both of them.
...
llvm-svn: 2225
2002-04-10 20:33:32 +00:00
Chris Lattner
4a317367e9
Remove extranous #include
...
llvm-svn: 2183
2002-04-08 22:05:10 +00:00
Chris Lattner
6e39131e01
s/PrintMethodPass/PrintFunctionPass
...
llvm-svn: 2182
2002-04-08 22:05:01 +00:00
Chris Lattner
1e759cb144
Add #includes
...
s/PrintMethodPass/PrintFunctionPass
llvm-svn: 2181
2002-04-08 22:04:24 +00:00
Chris Lattner
2b33d75537
Add support for the gnu ld -s (strip) option
...
llvm-svn: 2157
2002-04-08 05:18:12 +00:00
Chris Lattner
3b08c2f46c
GCCLD actually does transformations to simplify the linked program now.
...
llvm-svn: 2155
2002-04-08 00:14:58 +00:00
Chris Lattner
cd739a66cf
Remove asmwriter library from link line, because the useful contents of it
...
have been incorporated into the vmcore library.
llvm-svn: 2153
2002-04-07 22:35:30 +00:00
Chris Lattner
ef164d438c
Perform debug outputs with ->dump() instead of <<
...
llvm-svn: 2152
2002-04-07 22:34:44 +00:00
Chris Lattner
3c707196ac
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'
llvm-svn: 2151
2002-04-07 22:34:19 +00:00
Chris Lattner
62b7fd136e
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.
llvm-svn: 2144
2002-04-07 20:49:59 +00:00
Chris Lattner
8c61bc0859
Move the PromoteMemoryToRegister pass to be run _after_ the raise pointer
...
references pass, so it is given the chance to do some good!
llvm-svn: 2089
2002-04-01 19:45:11 +00:00
Chris Lattner
97ca0eacb1
Makefile change for IPO's that use the Datastructure analysis stuff
...
llvm-svn: 2015
2002-03-28 18:10:31 +00:00
Chris Lattner
b9530575ef
Add hook for pool allocation pass
...
llvm-svn: 2013
2002-03-28 18:08:07 +00:00
Chris Lattner
92c3670048
Checking for Cameron
...
llvm-svn: 2011
2002-03-28 17:56:28 +00:00
Cameron Buschardt
9dcd905f71
Rename constructor function for mem2reg pass.
...
llvm-svn: 2008
2002-03-27 23:29:23 +00:00
Chris Lattner
bf03a52b3b
* Add support for DataStructure analysis
...
* Parameterize pass outputting with the printPass template, so analysis
output can optionally take more arguments than just a stream. The
default output mode is just to use operator<< on the analysis.
* Remove CurrentModule hack, in favor of using printPass
* Remove special operator<<'s defined for FindUsedTypes and
FindUnsafePointerTypes, in favor of printPass specializations
* Use std::cout instead of cout
llvm-svn: 1995
2002-03-26 22:43:12 +00:00
Vikram S. Adve
025fdf98b6
Rename pass to DecomposeMultiDimRefs.
...
llvm-svn: 1960
2002-03-24 03:19:54 +00:00
Chris Lattner
30c37c24e8
Add a debugging option to gccas to cause it to not do level raise or anything
...
after it.
llvm-svn: 1934
2002-03-21 21:21:50 +00:00
Chris Lattner
6ba1a5f7d9
Expose dead instruction elimination pass
...
llvm-svn: 1877
2002-03-14 22:36:15 +00:00
Chris Lattner
e697504611
Echo the right tool name on error
...
llvm-svn: 1865
2002-03-12 15:41:36 +00:00
Chris Lattner
0e66f3ec92
Remove runtime library in favor of users linking against real libraries.
...
llvm-svn: 1853
2002-03-11 17:57:13 +00:00
Chris Lattner
6f0d4531ef
* Implement linking to libraries
...
* Pass arguments to program through shell script
llvm-svn: 1851
2002-03-11 17:49:53 +00:00
Chris Lattner
46519418b0
Pull interprocedural analyses out of Analysis library into their own lib
...
llvm-svn: 1827
2002-03-06 18:44:29 +00:00
Chris Lattner
b5ccfe0e32
Don't forget to build gccld!
...
llvm-svn: 1826
2002-03-06 18:05:02 +00:00
Chris Lattner
2498a1763a
Since verifier and SlotCalculator are now in VMCore library, libanalysis is
...
no longer required
llvm-svn: 1823
2002-03-06 17:41:18 +00:00
Chris Lattner
2a0c0c46a2
Pull callgraph out of Cfg namespace
...
llvm-svn: 1822
2002-03-06 17:40:37 +00:00
Chris Lattner
8fdf51f9c0
Change to use new pass accessor functions
...
llvm-svn: 1817
2002-02-26 21:47:29 +00:00
Chris Lattner
04805fa29c
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.
llvm-svn: 1816
2002-02-26 21:46:54 +00:00