aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
Commit message (Expand)AuthorAgeFilesLines
* Generalize the FoldOrWithConstant method to fold for any two constants whichBill Wendling2008-12-011-23/+22
* Reduce copy-and-paste code by splitting out the code into its own function.Bill Wendling2008-12-011-58/+50
* Use m_Specific() instead of double matching.Bill Wendling2008-12-011-18/+12
* Move pattern check outside of the if-then statement. This prevents us from fi...Bill Wendling2008-12-011-10/+12
* Rename some variables, only increment BI once at the start of the loop instea...Chris Lattner2008-12-011-38/+30
* pull the predMap densemap out of the inner loop of performPRE, soChris Lattner2008-12-011-2/+4
* switch a couple more calls to use array_pod_sort.Chris Lattner2008-12-012-3/+5
* Introduce a new array_pod_sort function and switch LSR to use itChris Lattner2008-12-011-1/+1
* Eliminate use of setvector for the DeadInsts set, just use a smallvector.Chris Lattner2008-12-011-17/+31
* DeleteTriviallyDeadInstructions is always passed theChris Lattner2008-12-011-10/+9
* simplify DeleteTriviallyDeadInstructions again, unlike my previousChris Lattner2008-12-011-20/+13
* simplify these patterns using m_Specific. No need to grep for Chris Lattner2008-12-011-16/+6
* Teach jump threading to clean up after itself, DCE and constfolding theChris Lattner2008-12-011-1/+24
* Change instcombine to use FoldPHIArgGEPIntoPHI to fold two operand PHIsChris Lattner2008-12-011-17/+5
* Teach inst combine to merge GEPs through PHIs. This is reallyChris Lattner2008-12-011-16/+95
* Make GVN be more intelligent about redundant load Chris Lattner2008-12-011-2/+19
* Reimplement the non-local dependency data structure in terms of a sortedChris Lattner2008-12-011-22/+34
* Implement ((A|B)&1)|(B&-2) -> (A&1) | B transformation. This also takes care ofBill Wendling2008-12-011-0/+67
* Cache analyses in ivars and add some useful DEBUG output.Chris Lattner2008-12-011-37/+30
* improve indentation, do cheap checks before expensive ones,Chris Lattner2008-11-301-52/+51
* Minor cleanup: use getTrue and getFalse where appropriate. No Eli Friedman2008-11-301-20/+20
* Some minor cleanups to instcombine; no functionality change.Eli Friedman2008-11-301-56/+17
* Add instruction combining for ((A&~B)|(~A&B)) -> A^B and all permutations.Bill Wendling2008-11-301-0/+23
* Implement (A&((~A)|B)) -> A&B transformation in the instruction combiner. ThisBill Wendling2008-11-301-0/+19
* Forgot one remaining call to getSExtValue().Bill Wendling2008-11-301-1/+1
* getSExtValue() doesn't work for ConstantInts with bitwidth > 64 bits. Use allBill Wendling2008-11-301-5/+5
* Optimize memmove and memset into the LLVM builtins. Note that these Eli Friedman2008-11-301-4/+57
* Don't make TwoToExp signed by default.Bill Wendling2008-11-301-2/+1
* From Hacker's Delight:Bill Wendling2008-11-301-8/+10
* Instcombine was illegally transforming -X/C into X/-C when either X or CBill Wendling2008-11-301-3/+20
* Fix a fixme by making memdep's handling of allocations more logical.Chris Lattner2008-11-301-15/+12
* Eliminate the dropInstruction method, which is not needed any more.Chris Lattner2008-11-291-5/+2
* Change MemDep::getNonLocalDependency to return its results asChris Lattner2008-11-291-5/+5
* reimplement getNonLocalDependency with a simpler worklistChris Lattner2008-11-291-4/+21
* Fix a thinko that manifested as a crash on clamav last night.Chris Lattner2008-11-291-2/+2
* Split getDependency into getDependency and getDependencyFrom, the Chris Lattner2008-11-292-2/+2
* Temporarily revert r60195. It's causing an optimized bootstrap of llvm-gcc to...Bill Wendling2008-11-291-20/+21
* Introduce and use a new MemDepResult class to hold the results of a memdepChris Lattner2008-11-293-54/+44
* Reimplement the internal abstraction used by MemDep in termsChris Lattner2008-11-293-52/+56
* don't revisit instructions off the beginning of the block.Chris Lattner2008-11-281-2/+4
* simplify some code, remove escaped newline.Chris Lattner2008-11-281-22/+28
* don't call MergeBasicBlockIntoOnlyPred on a block whose onlyChris Lattner2008-11-282-11/+14
* rewrite RecursivelyDeleteTriviallyDeadInstructions to use a more efficientChris Lattner2008-11-281-16/+26
* remove some weirdness that came from the LSR code that hasChris Lattner2008-11-281-8/+1
* rewrite a big chunk of how DSE does recursive dead operand Chris Lattner2008-11-281-181/+105
* delete ErasePossiblyDeadInstructionTree, replacing uses of it withChris Lattner2008-11-271-41/+9
* Simplify LoopStrengthReduce::DeleteTriviallyDeadInstructions byChris Lattner2008-11-271-21/+20
* enhance RecursivelyDeleteTriviallyDeadInstructions to makeChris Lattner2008-11-271-0/+9
* Enhance RecursivelyDeleteTriviallyDeadInstructions to optionallyChris Lattner2008-11-271-7/+15
* use continue to reduce indentationChris Lattner2008-11-271-18/+19