aboutsummaryrefslogtreecommitdiff
path: root/tools/llvm-ld/Optimize.cpp
AgeCommit message (Collapse)Author
2012-04-19Remove llvm-ld and llvm-stub (which is only used by llvm-ld).Michael J. Spencer
llvm-ld is no longer useful and causes confusion and so it is being removed. * Does not work very well on Windows because it must call a gcc like driver to assemble and link. * Has lots of hard coded paths which are wrong on many systems. * Does not understand most of ld's options. * Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} | ld, or fully replaced by Clang. I know of no production use of llvm-ld, and hacking use should be replaced by Clang's driver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Move methods in PassManagerBuilder offline.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136727 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,Rafael Espindola
but it solves a layering violation since things in Support are not supposed to use things in Transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136726 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22fix a file system case sensitivity issue.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131828 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22switch llvm-ld. It has a terrible mechanism that people can add extraChris Lattner
passes, it should be converted to use extension points. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131823 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29Merge System into Support.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-24Trim #includes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16Convert more tools code from cerr and cout to errs() and outs().Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15Use errs() instead of std::cerr.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75791 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03Change LTO to run the global opt pass twice.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03Add createStandardLTOPasses to StandardPasses.h, and move lto and llvm-ld over.Daniel Dunbar
- I know it sounds crazy, but I think all the pass lists are now coalesced into StandardPasses.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-26Add the function attributes pass during LTO time.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65508 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-15Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been ↵Owen Anderson
deprecated for almost a year; it's finally time for them to go away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-02Use ADCE instead of just DCE. ADCE will better clean up after jump threading,Owen Anderson
for instance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25run mem2reg after the second jump threading pass in llvm-ld.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52728 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25remove some dead options.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52726 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Move MemCpyOpt after GVN.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21run the jump threading pass in llvm-ld alsoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50027 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09Factor a bunch of functionality related to memcpy and memset transforms out of Owen Anderson
GVN and into its own pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19style and spellingAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48562 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19llvm-ld deserves disable-verify too. opt shouldn't have all the fun options.Andrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48550 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29remove attributions from tools.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-08Turn GVN on by default.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41787 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01Rename FastDSE to just DSE.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17Turn on FastDSE by default.Owen Anderson
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39986 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-06if internalize is disabled, don't run the pass at all!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37477 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05run a late dce pass to clean up extra cruft.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35684 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-07Now LICM is a LoopPass.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08For PR1153:Reid Spencer
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34058 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05For PR411:Reid Spencer
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01target constructors are never usedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32099 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17Need <iostream> for the time being.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31821 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27eliminate only use of FilteredPassNameParserChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29916 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20Make sure the verify pass gets run after the user's loaded passes as wellReid Spencer
when the verify-each option is given. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29783 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20Rename the -verify option to be -verify-each so that it doesn't conflictReid Spencer
with the -verify pass option. It is also more accurate in that this option causes a verify option to be run after every pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-20Convert llvm-ld to use the PluginLoader like opt instead of having itsReid Spencer
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Shorten a value description so --help out isn't so wide.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-02Fix a -pedantic warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28670 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18Fix PR637Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23784 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-11Revert the last patch. We really do need SimplyCFG.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10Remove this pass as its no longer needed.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02Adjust to change in pass nameChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18442 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20First cut at implementing generic link-time OptimizationReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18047 91177308-0d34-0410-b5e6-96231b3b80d8