aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Scalar
AgeCommit message (Expand)Author
2003-08-18Spell `necessary' correctly.Misha Brukman
2003-08-14Factory methods for function passes now return type FunctionPass *.Brian Gaeke
2003-08-13Implement instcombine optimizations:Chris Lattner
2003-08-13Generalize some of the add tests to allow for reassociation to take placeChris Lattner
2003-08-13Assign arguments different ranks so they get grouped togetherChris Lattner
2003-08-13Implement InstCombine/2003-08-12-AllocaNonNull.llChris Lattner
2003-08-13Do not cannonicalize (X != 0) into (cast X to bool)Chris Lattner
2003-08-13Change cannonicalization rules: add X,X is represented as multiplies, multipliesChris Lattner
2003-08-12Allow pulling logical operations through shifts.Chris Lattner
2003-08-12Fix bug: Reassociate/2003-08-12-InfiniteLoop.llChris Lattner
2003-08-12Assign finer grained ranks, make sure to reassociate top-level after reassoci...Chris Lattner
2003-08-12Simplify codeChris Lattner
2003-08-12Implement testcases InstCombine/or.ll:test16/test17Chris Lattner
2003-08-05Fixed minor bug in SafeToHoist and made some changes suggested by Chris.Tanya Lattner
2003-08-05Fixed LICM bug that hoists trapping instructions that are not guaranteed to e...Tanya Lattner
2003-08-01DEBUG got moved to Support/Debug.hChris Lattner
2003-07-24Instcombine: (A >> c1) << c2 for signed integersChris Lattner
2003-07-24Reorganization of code, no functional changes.Chris Lattner
2003-07-24Allow folding several instructions into casts, which can simplify a lotChris Lattner
2003-07-23Add commentsChris Lattner
2003-07-23Remove explicit check for: not (not X) = X, it is already handled because xor...Chris Lattner
2003-07-23InstCombine: (X ^ C1) & C2 --> (X & C2) iff (C1&C2) == 0Chris Lattner
2003-07-23 - InstCombine: (X | C1) & C2 --> X & C2 iff C1 & C1 == 0Chris Lattner
2003-07-23IC: (X & C1) | C2 --> (X | C2) & (C1|C2)Chris Lattner
2003-07-23IC: (X ^ C1) & C2 --> (X & C2) ^ (C1&C2)Chris Lattner
2003-07-23InstCombine: (X ^ 4) == 8 --> X == 12Chris Lattner
2003-07-23IC: (X & 5) == 13 --> falseChris Lattner
2003-07-23Simplify code by using ConstantInt::getRawValue instead of checking to seeChris Lattner
2003-07-23Fix bug: TailDup/2003-07-22-InfiniteLoop.llChris Lattner
2003-07-22 - InstCombine (cast (xor A, B) to bool) ==> (setne A, B)Chris Lattner
2003-07-21Added code that checks to see if a global variable is external before replacingJohn Criswell
2003-07-17Dinakar and I fixed a bug where we were trying to get the initializer ofJohn Criswell
2003-06-26Add support for elimination of load instruction from global constantsChris Lattner
2003-06-25Instcombine: X * -1 -> -XChris Lattner
2003-06-24Fix bug: ADCE/2003-06-24-BadSuccessor.llChris Lattner
2003-06-24Do not mark ALL terminators live if any instruciton in the block is live. We...Chris Lattner
2003-06-24Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.llChris Lattner
2003-06-24Fix bug: TailDup/2003-06-24-Simpleloop.llChris Lattner
2003-06-23Implement new transforms:Chris Lattner
2003-06-22Add paranoia checkingChris Lattner
2003-06-22Test changeChris Lattner
2003-06-22Initial checkin of Tail duplication pass.Chris Lattner
2003-06-21Instcombine cast (getelementptr Ptr, 0, 0, 0) to ... into: cast Ptr to ...Chris Lattner
2003-06-19Implement the functionality of InstCombine/call.llChris Lattner
2003-06-17Don't corrupt memory when removing an instruction from the program, butChris Lattner
2003-06-16Fix bug: ADCE/2003-06-11-InvalidCFG.llChris Lattner
2003-06-05Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.llChris Lattner
2003-06-04Clean up previous code.Chris Lattner
2003-06-04Implement combination of boolean not with branchChris Lattner
2003-06-01Implement xform: (X != 0) -> (bool)XChris Lattner