Rafael Espindola
2b0d064f3b
Move methods in PassManagerBuilder offline.
...
llvm-svn: 136727
2011-08-02 21:50:27 +00:00
Rafael Espindola
73efcf56f6
move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,
...
but it solves a layering violation since things in Support are not supposed to
use things in Transforms.
llvm-svn: 136726
2011-08-02 21:50:24 +00:00
Chris Lattner
9413ffa53b
fix a file system case sensitivity issue.
...
llvm-svn: 131828
2011-05-22 00:37:51 +00:00
Chris Lattner
a9a8b633ae
switch llvm-ld. It has a terrible mechanism that people can add extra
...
passes, it should be converted to use extension points.
llvm-svn: 131823
2011-05-22 00:21:15 +00:00
Michael J. Spencer
d5ec932c3a
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Dan Gohman
7f76052c8c
Trim #includes.
...
llvm-svn: 99416
2010-03-24 19:56:17 +00:00
Dan Gohman
6abbc537f4
Convert more tools code from cerr and cout to errs() and outs().
...
llvm-svn: 76070
2009-07-16 15:30:09 +00:00
Dan Gohman
60dce4c56b
Use errs() instead of std::cerr.
...
llvm-svn: 75791
2009-07-15 16:35:29 +00:00
Daniel Dunbar
57d886ecbc
Change LTO to run the global opt pass twice.
...
- This matches llvm-ld.
It took a bit of archeology to figure out what the right thing to do was
(whether this was intentionally added or intentionally removed). My final
conclusion is that Chris added this intentionally here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=16913
but the changes weren't propogated to llvm-ld until here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=34058
which was after lto.cpp had been cloned off (of llvm-ld), here:
http://llvm.org/viewvc/llvm-project?view=rev&revision=29494
From the commit message, it looks like the motivation for running global opt
again is because we ran it prior to inlining. Based on that I updated the
comment and also only run the pass if we actually ran the inliner.
Chris, please review.
llvm-svn: 72811
2009-06-03 21:51:32 +00:00
Daniel Dunbar
6a35862267
Add createStandardLTOPasses to StandardPasses.h, and move lto and llvm-ld over.
...
- I know it sounds crazy, but I think all the pass lists are now coalesced into
StandardPasses.h.
llvm-svn: 72805
2009-06-03 21:06:14 +00:00
Nick Lewycky
0132cfe834
Add the function attributes pass during LTO time.
...
llvm-svn: 65508
2009-02-26 06:56:16 +00:00
Owen Anderson
13498aa150
Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away.
...
llvm-svn: 54822
2008-08-15 21:31:02 +00:00
Owen Anderson
9f7122a150
Use ADCE instead of just DCE. ADCE will better clean up after jump threading,
...
for instance.
llvm-svn: 53045
2008-07-02 18:42:07 +00:00
Chris Lattner
20daa88e13
run mem2reg after the second jump threading pass in llvm-ld.
...
llvm-svn: 52728
2008-06-25 16:51:55 +00:00
Chris Lattner
66e5fe72f4
remove some dead options.
...
llvm-svn: 52726
2008-06-25 16:44:08 +00:00
Owen Anderson
7b318804cc
Move MemCpyOpt after GVN.
...
llvm-svn: 50097
2008-04-22 07:12:26 +00:00
Chris Lattner
8d8e939418
run the jump threading pass in llvm-ld also
...
llvm-svn: 50027
2008-04-21 04:28:40 +00:00
Owen Anderson
ca7e0e21f3
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00
Andrew Lenharth
9d2ead09ba
style and spelling
...
llvm-svn: 48562
2008-03-19 22:32:43 +00:00
Andrew Lenharth
febb9d6e5a
llvm-ld deserves disable-verify too. opt shouldn't have all the fun options.
...
llvm-svn: 48550
2008-03-19 20:49:51 +00:00
Chris Lattner
309aeb140b
remove attributions from tools.
...
llvm-svn: 45421
2007-12-29 20:44:31 +00:00
Owen Anderson
b1388b7afb
Turn GVN on by default.
...
llvm-svn: 41787
2007-09-08 22:23:52 +00:00
Owen Anderson
58e64df595
Rename FastDSE to just DSE.
...
llvm-svn: 40668
2007-08-01 06:36:51 +00:00
Owen Anderson
3a6871f519
Turn on FastDSE by default.
...
Note: FastDSE now equals or exceeds the results of old DSE on all of SPEC2000 and SPEC2006. Unless major problems
show up in the testers, it will likely completely replace old DSE in the near future.
llvm-svn: 39986
2007-07-17 21:59:21 +00:00
Chris Lattner
5a4086fd85
if internalize is disabled, don't run the pass at all!
...
llvm-svn: 37477
2007-06-06 20:51:14 +00:00
Chris Lattner
17045ee2d5
run a late dce pass to clean up extra cruft.
...
llvm-svn: 35684
2007-04-05 16:50:20 +00:00
Devang Patel
16107bb71b
Now LICM is a LoopPass.
...
llvm-svn: 35001
2007-03-07 04:41:30 +00:00
Reid Spencer
9205914030
For PR1153:
...
Make llvm-ld more gccld-like by having it run the same set of passes. The
delta was probably due to lack of llvm-ld being maintained. Just another
reason to have only one optimizing linker in in LLVM.
llvm-svn: 34058
2007-02-08 18:13:59 +00:00
Reid Spencer
6af21b3029
For PR411:
...
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Chris Lattner
679e419c6b
target constructors are never used
...
llvm-svn: 32099
2006-12-01 21:59:37 +00:00
Bill Wendling
17c96ef0de
Need <iostream> for the time being.
...
llvm-svn: 31821
2006-11-17 10:09:22 +00:00
Chris Lattner
ea448e4b8a
eliminate only use of FilteredPassNameParser
...
llvm-svn: 29916
2006-08-27 22:07:43 +00:00
Reid Spencer
2a96040090
Make sure the verify pass gets run after the user's loaded passes as well
...
when the verify-each option is given.
llvm-svn: 29783
2006-08-20 20:54:38 +00:00
Reid Spencer
3906633b78
Rename the -verify option to be -verify-each so that it doesn't conflict
...
with the -verify pass option. It is also more accurate in that this option
causes a verify option to be run after every pass.
llvm-svn: 29782
2006-08-20 20:48:44 +00:00
Reid Spencer
6faaebd391
Convert llvm-ld to use the PluginLoader like opt instead of having its
...
one-off (and broken) RunOptimizations function. Also, run some cleanup
passes after the user's loaded passes run. This make sure to clean up
any cruft left around by thos passes.
This patch was inspired by a patch submitted by Bram Adams.
llvm-svn: 29781
2006-08-20 19:18:36 +00:00
Chris Lattner
b5733272c5
Don't pass target name into TargetData anymore, it is never used or needed.
...
llvm-svn: 28831
2006-06-16 18:23:49 +00:00
Reid Spencer
8077d5bf7f
Shorten a value description so --help out isn't so wide.
...
llvm-svn: 28721
2006-06-07 23:07:51 +00:00
Chris Lattner
9cfabaf195
Fix a -pedantic warning
...
llvm-svn: 28670
2006-06-02 22:11:06 +00:00
Chris Lattner
fb0fa6792e
Fix PR637
...
llvm-svn: 23784
2005-10-18 06:29:43 +00:00
Misha Brukman
960a8d47d7
Remove trailing whitespace
...
llvm-svn: 21428
2005-04-22 00:00:37 +00:00
Reid Spencer
17ce5e3519
Revert the last patch. We really do need SimplyCFG.
...
llvm-svn: 18787
2004-12-11 03:03:54 +00:00
Reid Spencer
388d091dde
Remove this pass as its no longer needed.
...
llvm-svn: 18783
2004-12-10 22:55:35 +00:00
Chris Lattner
39701484e8
Adjust to change in pass name
...
llvm-svn: 18442
2004-12-02 21:27:35 +00:00
Reid Spencer
00a474017b
First cut at implementing generic link-time Optimization
...
llvm-svn: 18047
2004-11-20 19:43:28 +00:00