aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms
AgeCommit message (Expand)Author
2011-02-28Teach SimplifyCFG that (switch (select cond, X, Y)) is better expressed as a ...Frits van Bommel
2011-02-28srem doesn't actually have the same resulting sign as its numerator, you couldNick Lewycky
2011-02-28Teach InstCombine to fold "(shr exact X, Y) == 0" --> X == 0, fixing #1 fromNick Lewycky
2011-02-28The sign of an srem instruction is the sign of its dividend (the firstNick Lewycky
2011-02-25Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap."Benjamin Kramer
2011-02-24SimplifyCFG: GEPs with just one non-constant index are also cheap.Benjamin Kramer
2011-02-24SimplifyCFG: GEPs with constant indices are cheap enough to be executed uncon...Benjamin Kramer
2011-02-24Do not use DIFactory. Use DIBuilder.Devang Patel
2011-02-24wire TargetLibraryInfo into simplify libcalls and use it in a couple ofChris Lattner
2011-02-24move a massive amount of code out into its own helper functionChris Lattner
2011-02-24change instcombine to not turn a call to non-varargs bitcast ofChris Lattner
2011-02-22Make LoopDeletion work on loops with multiple edges, as long as the incomingCameron Zwarich
2011-02-21If the phi node was used by an unreachable instruction that ends up usingDuncan Sands
2011-02-21fix a crasher in disabled code (on variable stride loops)Chris Lattner
2011-02-21Simplify RecursivelyDeleteDeadPHINode. The only functionality changeDuncan Sands
2011-02-21Add some (disabled code) to print out negative strides.Chris Lattner
2011-02-20Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add aNick Lewycky
2011-02-20Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer
2011-02-20InstCombine: Add a bunch of combines of the form x | (y ^ z).Benjamin Kramer
2011-02-20Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. PatchNick Lewycky
2011-02-20Instead of keeping two Value*->id# mappings, keep one Value->Value mapping andNick Lewycky
2011-02-19PR9218: SimplifyDemandedVectorElts can return a non-null value that is notEli Friedman
2011-02-19rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byteChris Lattner
2011-02-19Implement rdar://9009151, transforming strided loop stores ofChris Lattner
2011-02-18Make loop-idiom use TargetLibraryInfo to determine whether it is allowedChris Lattner
2011-02-18Move library stuff out of the toplevel CMakeLists.txt file.Oscar Fuentes
2011-02-18Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is noDuncan Sands
2011-02-18prevent jump threading from merging blocks when their address isChris Lattner
2011-02-18Don't unroll loops whose header block's address is taken.Chris Lattner
2011-02-17have instcombine preserve nsw/nuw/exact when sinkingChris Lattner
2011-02-17fix typoChris Lattner
2011-02-17fix instcombine merging GEPs through a PHI to only make theChris Lattner
2011-02-17add is always integer, thanks to Frits for noticing this.Chris Lattner
2011-02-17Transform "A + B >= A + C" into "B >= C" if the adds do not wrap. Likewise f...Duncan Sands
2011-02-17preserve NUW/NSW when transforming add x,xChris Lattner
2011-02-17fix PR9215, preventing -reassociate from clearing nsw/nuw whenChris Lattner
2011-02-15Spelling fix: consequtive -> consecutive.Duncan Sands
2011-02-15Fix 9216 - Endless loop in InstCombine pass.Nadav Rotem
2011-02-15Do not forget DebugLoc!Devang Patel
2011-02-15tidy up a bit.Chris Lattner
2011-02-15convert ConstantVector::get to use ArrayRef.Chris Lattner
2011-02-14Do not hoist @llvm.dbg.value. Here, @llvm.dbg.value is "referring" a value th...Devang Patel
2011-02-14revert my ConstantVector patch, it seems to have made the llvm-gccChris Lattner
2011-02-14Switch ConstantVector::get to use ArrayRef instead of a pointer+sizeChris Lattner
2011-02-13remove a now-unneccesary cast.Chris Lattner
2011-02-13implement instcombine folding for things like (x >> c) < 42.Chris Lattner
2011-02-13refactor some code out into a helper method.Chris Lattner
2011-02-12SimplifyLibCalls: Add missing legalize check on various printf to puts andDaniel Dunbar
2011-02-11Also fold (A+B) == A -> B == 0 when the add is commuted.Benjamin Kramer
2011-02-11When lowering an inbounds gep, the intermediate adds can haveChris Lattner