summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm/InitializePasses.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove outdated references to dominance frontiers.Cameron Zwarich2011-01-181-1/+1
| | | | llvm-svn: 123724
* remove the partial specialization pass. It is unmaintained and has bugs.Chris Lattner2011-01-161-1/+0
| | | | llvm-svn: 123554
* split SROA into two passes: one that uses DomFrontiers (-scalarrepl) Chris Lattner2011-01-141-1/+2
| | | | | | and one that uses SSAUpdater (-scalarrepl-ssa) llvm-svn: 123436
* Add the SpillPlacement analysis pass.Jakob Stoklund Olesen2011-01-061-0/+1
| | | | | | | | | | | | | | | | This pass precomputes CFG block frequency information that can be used by the register allocator to find optimal spill code placement. Given an interference pattern, placeSpills() will compute which basic blocks should have the current variable enter or exit in a register, and which blocks prefer the stack. The algorithm is ready to consume block frequencies from profiling data, but for now it gets by with the static estimates used for spill weights. This is a work in progress and still not hooked up to RegAllocGreedy. llvm-svn: 122938
* Turn the EdgeBundles class into a stand-alone machine CFG analysis pass.Jakob Stoklund Olesen2011-01-041-0/+1
| | | | | | | | | | The analysis will be needed by both the greedy register allocator and the X86FloatingPoint pass. It only needs to be computed once when the CFG doesn't change. This pass is very fast, usually showing up as 0.0% wall time. llvm-svn: 122832
* Add a new loop-instsimplify pass, with the intention of replacing the instanceCameron Zwarich2011-01-031-0/+1
| | | | | | | of instcombine that is currently in the middle of the loop pass pipeline. This commit only checks in the pass; it will hopefully be enabled by default later. llvm-svn: 122719
* sketch out a new early cse pass. No functionality yet.Chris Lattner2011-01-021-0/+1
| | | | llvm-svn: 122713
* Start of a pass for recognizing memset and memcpy idioms.Chris Lattner2010-12-261-0/+1
| | | | | | No functionality yet. llvm-svn: 122562
* Add a new convenience pass for testing InstructionSimplify. PreviouslyDuncan Sands2010-12-201-0/+1
| | | | | | | | | it could only be tested indirectly, via instcombine, gvn or some other pass that makes use of InstructionSimplify, which means that testcases had to be carefully contrived to dance around any other transformations that that pass did. llvm-svn: 122264
* Add MachineLoopRanges analysis.Jakob Stoklund Olesen2010-12-151-0/+1
| | | | | | | | A MachineLoopRange contains the intervals of slot indexes covered by the blocks in a loop. This representation of the loop blocks is more efficient to compare against interfering registers during register coalescing. llvm-svn: 121917
* Stub out a new LiveDebugVariables pass.Jakob Stoklund Olesen2010-11-301-0/+1
| | | | | | | | | | | | | This analysis is going to run immediately after LiveIntervals. It will stay alive during register allocation and keep track of user variables mentioned in DBG_VALUE instructions. When the register allocator is moving values between registers and the stack, it is very hard to keep track of DBG_VALUE instructions. We usually get it wrong. This analysis maintains a data structure that makes it easy to update DBG_VALUE instructions. llvm-svn: 120385
* Rename ExpandPseudos to ExpandISelPseudos to help clarify its role.Dan Gohman2010-11-181-1/+1
| | | | llvm-svn: 119716
* Split pseudo-instruction expansion into a separate pass, to make itDan Gohman2010-11-161-0/+1
| | | | | | | easier to debug, and to avoid complications when the CFG changes in the middle of the instruction selection process. llvm-svn: 119382
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-191-0/+1
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Remove LoopIndexSplit pass. It is neither maintained nor used by anyone.Devang Patel2010-10-071-1/+0
| | | | llvm-svn: 116004
* Add initialization routines for Instrumentation.Owen Anderson2010-10-071-0/+4
| | | | llvm-svn: 115971
* Add initialization routines to InstCombine.Owen Anderson2010-10-071-0/+4
| | | | llvm-svn: 115965
* Add initialization routines for VMCore.Owen Anderson2010-10-071-0/+4
| | | | llvm-svn: 115963
* Add initialization routines for Target.Owen Anderson2010-10-071-0/+3
| | | | llvm-svn: 115957
* Add initialization routines for CodeGen.Owen Anderson2010-10-071-0/+3
| | | | llvm-svn: 115949
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-071-0/+6
| | | | llvm-svn: 115946
* Add an initialization routine for libLLVMipo.aOwen Anderson2010-10-071-2/+5
| | | | llvm-svn: 115933
* Next step on the getting-rid-of-static-ctors train: begin adding per-libraryOwen Anderson2010-10-071-0/+8
| | | | | | | initialization functions that initialize the set of passes implemented in that library. Add C bindings for these functions as well. llvm-svn: 115927
* Add the header that I accidentally forgot from r115900.Owen Anderson2010-10-071-0/+185
llvm-svn: 115901
OpenPOWER on IntegriCloud