Chris Lattner
6f0bab5b9d
Header file moved
...
llvm-svn: 13813
2004-05-27 05:41:36 +00:00
Chris Lattner
0caf28f4ff
Move loop optimization passes up, add loop unroller
...
llvm-svn: 13030
2004-04-18 05:21:01 +00:00
Chris Lattner
228bd4e931
Turn on argument promotion in gccas. This can give us substantially better
...
code in cases where the file has lots of static functions or anon namespaces.
llvm-svn: 12361
2004-03-13 21:38:35 +00:00
Chris Lattner
0dfe43a53a
Add a new pass
...
llvm-svn: 11838
2004-02-25 21:35:02 +00:00
Chris Lattner
3c9511b0ac
Make sure to print a stack trace whenever an error signal is delivered to
...
the tool.
llvm-svn: 11633
2004-02-19 20:32:39 +00:00
Chris Lattner
15ea2aa0ff
Now that tailduplication does not bork SSA form, run mem2reg earlier in gccas.
...
This tremendously improves the code generated by the LLVM optimizer, primarily
by making the inliner more aggressive. For example, it improves the stepanov
benchmark from 55.56 mega-additions/sec to 98.04 Ma/s. It also improves the
oopack/iterator benchmark from 338.3MFLOPS/s to 1103.4MFLOPS/s. Less noteworthy,
it improves oopack/matrix from 573 -> 641 MFLOPS/s.
llvm-svn: 11053
2004-02-01 07:24:53 +00:00
Chris Lattner
9ec6983d9e
Make sure to verify the result before writing out the bytecode file. Not doing
...
so can cause obscure errors downstream.
llvm-svn: 10840
2004-01-14 03:39:46 +00:00
Chris Lattner
886cc8ad49
Add a -disable-opt flag to gccas, so that we can use -Wa,-disable-opt just
...
like -Wl,-disable-opt
llvm-svn: 10647
2003-12-30 03:24:27 +00:00
Chris Lattner
1dc6025d53
Run tailcall elimination in a more logical place
...
llvm-svn: 10402
2003-12-11 17:50:32 +00:00
Chris Lattner
ccff2f467f
It is now after pldi. This issue has been fixed, so remove the hack
...
llvm-svn: 10306
2003-12-07 01:44:18 +00:00
Chris Lattner
3eaa9eec80
Revert the previous patch since it causes lots of miscompilations. :( :(
...
llvm-svn: 10172
2003-11-22 19:07:47 +00:00
Chris Lattner
1b7c6e072b
Reorder passes a bit. In particular, it makes sense to run globaldce IMMEDIATELY after funcresolve. Also, run the mem2reg pass _early_ so that IPCP and DAE actually do stuff.
...
Run instcombine and simplify cfg after this to cleanup the intraprocedural messes we create.
llvm-svn: 10134
2003-11-21 21:44:35 +00:00
Chris Lattner
b6b3b55e95
As the comments indicate, this is a temporary, repulsive, hack
...
llvm-svn: 9982
2003-11-13 19:26:54 +00:00
Brian Gaeke
d25f86d683
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner
97d6ee74bb
Turn on the IPCP pass by default. It has passed all of the tests
...
llvm-svn: 9435
2003-10-23 18:25:57 +00:00
John Criswell
a8dfda0513
Added LLVM copyright to Makefiles.
...
llvm-svn: 9314
2003-10-20 22:29:16 +00:00
Chris Lattner
34a5a4c718
fix file header
...
llvm-svn: 9294
2003-10-20 17:58:43 +00:00
John Criswell
d06dc1136b
Added copyright header to all C++ source files.
...
llvm-svn: 9291
2003-10-20 17:47:21 +00:00
Chris Lattner
e1f71ee070
Unfortunately, it looks like level raise is still needed :(
...
llvm-svn: 9158
2003-10-16 16:50:34 +00:00
Chris Lattner
5e7680e517
Give this file a proper header
...
llvm-svn: 9141
2003-10-15 21:49:57 +00:00
Chris Lattner
b3414f7cb6
The levelraise pass is a broken old piece of crufty code that should be
...
left on the side of the road without a second thought.
It is preventing forward progress, so for now, we will disable it by default.
llvm-svn: 9140
2003-10-15 21:48:38 +00:00
Chris Lattner
dc3f14015e
Add a new -disable-inlining option
...
llvm-svn: 9028
2003-10-10 18:18:53 +00:00
Misha Brukman
e63af2ec7e
Fix grammar.
...
llvm-svn: 9026
2003-10-10 17:56:49 +00:00
Chris Lattner
2c6d4d649e
Now that the TCE pass passes all of the tests, add it to GCCAS
...
llvm-svn: 8621
2003-09-20 05:26:22 +00:00
Chris Lattner
bad3f67b54
Enable the setjmp/longjmp lowering pass
...
llvm-svn: 8521
2003-09-15 04:56:44 +00:00
Chris Lattner
427bf36a96
scalarrepl now includes mem2reg
...
llvm-svn: 8472
2003-09-11 16:46:10 +00:00
Chris Lattner
1b50ec752d
Move the -indvars pass much later to where it is more likely to do good stuff
...
llvm-svn: 8470
2003-09-11 16:34:07 +00:00
Chris Lattner
7149fa4d4b
#include is unnecessary
...
llvm-svn: 8316
2003-09-01 20:45:46 +00:00
Chris Lattner
1f9495ceab
Remove the -stopAfterNPasses option, which has been long obsoleted by bugpoint
...
llvm-svn: 8278
2003-08-31 21:47:24 +00:00
Chris Lattner
c2f8ebd598
* move the dead-type-eliminate passes to the end, where they are more useful
...
* add prune-eh and inlining passes
* other minor pass reorganizations
llvm-svn: 8277
2003-08-31 21:45:55 +00:00
Chris Lattner
494b24e49f
Completely remove mention of the correlated branch elimination pass. It has
...
bugs and needs to be reworked anyway.
llvm-svn: 7692
2003-08-07 21:30:12 +00:00
Misha Brukman
5d7c46c4b3
* The possessive third-person singular has no apostrophe (its)
...
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns
llvm-svn: 7690
2003-08-07 21:23:52 +00:00
Chris Lattner
1eb4533b66
Add tail duplication pass to the pipeline, move the verifier pass to the front
...
Other minor reorganizations
llvm-svn: 6849
2003-06-22 20:11:45 +00:00
Chris Lattner
a05571b144
Add SRoA pass to gccas
...
llvm-svn: 6442
2003-05-30 19:24:06 +00:00
Chris Lattner
e4108c9550
Move indvars pass after mem2reg pass where it is more likely to be useful
...
llvm-svn: 6441
2003-05-30 19:23:10 +00:00
Chris Lattner
08b4007a7c
Add an instcombine pass before levelraise
...
llvm-svn: 5980
2003-05-02 18:19:05 +00:00
Chris Lattner
4a984c606f
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
1228ad2415
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
18f2992e5e
LevelRaise now gets target data from passmanager
...
llvm-svn: 5898
2003-04-24 18:26:03 +00:00
Chris Lattner
14f89ddf52
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
llvm-svn: 5889
2003-04-23 20:40:42 +00:00
Chris Lattner
b53f5d3a9f
Eliminate some compatibility stuff no longer needed :P
...
llvm-svn: 5812
2003-04-18 23:38:09 +00:00
Chris Lattner
9d614bf2d1
Improve compatibility with system AS further by allowing input from stdin
...
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner
951662218c
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner
7c29feaeb7
Namespacify command line options
...
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner
598270f39d
link with static versions of some libs to avoid having to pull in all of ipo/ipa and datastructure at all
...
llvm-svn: 5402
2003-01-22 22:14:04 +00:00
Vikram S. Adve
dd2ab407a6
Disable correlated expressions pass until it is reliable.
...
llvm-svn: 4512
2002-11-03 12:41:50 +00:00
Chris Lattner
517a31e940
Reassociate now works
...
llvm-svn: 4472
2002-10-31 17:13:11 +00:00
Vikram S. Adve
3c20672e56
Added datastructure library to resolve link error.
...
llvm-svn: 4279
2002-10-25 21:17:34 +00:00
Chris Lattner
d01dffe97f
* 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
Vikram S. Adve
c3d678fff5
gcc3.1.1 seems much more selective about what it loads from archives, and
...
does not link in many passes that are loaded by gcc2.95.3. So use object
files instead of archives in many more cases.
llvm-svn: 3803
2002-09-18 02:20:58 +00:00