aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ValueTracking.cpp
AgeCommit message (Expand)Author
2012-01-25use Constant::getAggregateElement to simplify a bunch of code.Chris Lattner
2012-01-25Use the right method to get the # elements in a CDS.Chris Lattner
2012-01-24teach valuetracking about ConstantDataSequentialChris Lattner
2012-01-04Generalize isSafeToSpeculativelyExecute to work on arbitraryDan Gohman
2012-01-01PatternMatch: Introduce a matcher for instructions with the "exact" bit. Use ...Benjamin Kramer
2011-12-24ComputeMaskedBits: Make knownzero computation more aggressive for ctlz with u...Benjamin Kramer
2011-12-21Make some intrinsics safe to speculatively execute.Nick Lewycky
2011-12-14Move Instruction::isSafeToSpeculativelyExecute out of VMCore andDan Gohman
2011-12-06Probably not a good idea to convert a single vector load into a memcpy. WeChad Rosier
2011-12-05Add support for vectors of pointers.Nadav Rotem
2011-11-29Fix a theoretical problem (not seen in the wild): if different instances of aDuncan Sands
2011-11-28Make SelectionDAG::InferPtrAlignment use llvm::ComputeMaskedBits instead of d...Eli Friedman
2011-11-23Fix a crash in which a multiplication was being reported as being both negativeDuncan Sands
2011-10-28A shift of a power of two is a power of two or zero.Duncan Sands
2011-10-27Reapply commit 143028 with a fix: the problem was casting a ConstantExpr MulDuncan Sands
2011-10-27Revert Duncan's r143028 expression folding which appears to be the culpritBob Wilson
2011-10-26The maximum power of 2 dividing a power of 2 is itself. This occursDuncan Sands
2011-10-26My super-optimizer noticed that we weren't folding this expression toDuncan Sands
2011-10-20"@string = constant i8 0" is a value i8* string of length zero. Analyze thatNick Lewycky
2011-07-18Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previ...Frits van Bommel
2011-07-18land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner
2011-07-13Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.Jay Foad
2011-06-27Move onlyUsedByLifetimeMarkers to ValueTracking so that it can be used by otherNick Lewycky
2011-05-26Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. Chad Rosier
2011-05-23Teach valuetracking that byval arguments with a specified alignment areChris Lattner
2011-05-22Teach ValueTracking about x86 crc32 intrinsics.Evan Cheng
2011-04-15Fix a ton of comment typos found by codespell. Patch byChris Lattner
2011-04-02Don't assume something which might be a constant expression is an instruction.Eli Friedman
2011-03-21Fix INT_MIN gotcha pointed out by Eli Friedman.Nick Lewycky
2011-03-12Teach ComputeMaskedBits about sub nsw.Benjamin Kramer
2011-03-11ComputeMaskedBits: sub falls through to add, and sub doesn't have the same ov...Benjamin Kramer
2011-03-11Teach ComputeMaskedBits about nsw on add. I don't think there's anything we canNick Lewycky
2011-03-08Fix PR9331. Simplified version of a patch by Jakub Staszak.Duncan Sands
2011-03-07Add more analysis of the sign bit of an srem instruction. If the LHS is negativeNick Lewycky
2011-02-28Fix comment.Nick Lewycky
2011-02-28srem doesn't actually have the same resulting sign as its numerator, you couldNick Lewycky
2011-02-28Teach value tracking to make use of flags in more situations.Nick Lewycky
2011-02-28Teach ValueTracking to look at the dividend when determining the sign bit of anNick Lewycky
2011-02-19Stores of null pointers should turn into memset, we weren't recognizingChris Lattner
2011-02-10Tolerate degenerate phi nodes that can occur in the middle of optimizationNick Lewycky
2011-02-01Add a m_SignBit pattern for convenience.Duncan Sands
2011-01-29Fix typo: should have been testing that X was odd, not V.Duncan Sands
2011-01-26APInt has a method for determining whether a number is a power of 2Duncan Sands
2011-01-25In which I discover that zero+zero is zero, d'oh!Duncan Sands
2011-01-25See if this fixes llvm-gcc bootstrap.Duncan Sands
2011-01-25According to my auto-simplifier the most common missed simplifications inDuncan Sands
2011-01-24Give GetUnderlyingObject a TargetData, to keep it in syncDan Gohman
2011-01-04fix an off-by-one bug that caused a crash analyzingChris Lattner
2010-12-26move isBytewiseValue out to ValueTracking.h/cppChris Lattner
2010-12-17Add vector versions of some existing scalar transforms to aid codegen in matc...Nate Begeman