6240 Commits

Author SHA1 Message Date
Chris Lattner
6205c268e0 Expose the lowerallocs pass
llvm-svn: 2602
2002-05-10 15:43:07 +00:00
Chris Lattner
35cc0d2027 Expose the pi node insertion pass.
llvm-svn: 2594
2002-05-10 05:41:49 +00:00
Chris Lattner
e693f33937 Clean up dis so that it does not print out code in various traversal orders.
Now it only output llvm or C code.

llvm-svn: 2564
2002-05-09 01:25:55 +00:00
Chris Lattner
a2f3b65dec Expose expression reassociation
llvm-svn: 2557
2002-05-08 22:18:34 +00:00
Chris Lattner
356ef11e5a Run expression reassociation as part of gccas
llvm-svn: 2556
2002-05-08 22:18:20 +00:00
Sumant Kowshik
cf3afd9dc5 *** empty log message ***
llvm-svn: 2552
2002-05-08 18:09:58 +00:00
Chris Lattner
b4bf0c1422 Spell aggressive correctly
llvm-svn: 2551
2002-05-07 22:15:01 +00:00
Chris Lattner
89a20ef164 Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
llvm-svn: 2538
2002-05-07 20:03:27 +00:00
Chris Lattner
355cc5ab26 Fix makefiles after shuffling passes around the libraries
llvm-svn: 2532
2002-05-07 19:27:33 +00:00
Chris Lattner
15435fd550 Move UnifyFunctionExitNodes to Utils library: final resting place this time
llvm-svn: 2531
2002-05-07 19:18:48 +00:00
Chris Lattner
863c37e0bb Oops, somehow lost a slash. Fixed
llvm-svn: 2524
2002-05-07 18:39:52 +00:00
Chris Lattner
7608a46cbe Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories

llvm-svn: 2523
2002-05-07 18:36:35 +00:00
Chris Lattner
56c3f22249 Straighten out makefiles after moving code to new Transform Utils library
llvm-svn: 2520
2002-05-07 18:18:26 +00:00
Chris Lattner
cfa675c142 GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
llvm-svn: 2503
2002-05-06 18:54:12 +00:00
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