summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueTracking.cpp
Commit message (Expand)AuthorAgeFilesLines
* SimplifyLibCalls: Optimize wcslenMatthias Braun2017-05-191-34/+88
* [ValueTracking] Replace all uses of ComputeSignBit with computeKnownBits.Craig Topper2017-05-151-9/+0
* [InstCombine] Merge duplicate functionality between InstCombine and ValueTrac...Craig Topper2017-05-151-5/+66
* [KnownBits] Add bit counting methods to KnownBits struct and use them where p...Craig Topper2017-05-121-39/+31
* [ValueTracking] Use KnownOnes to provide a better bound on known zeros for ct...Craig Topper2017-05-081-3/+16
* [ValueTracking] Introduce a version of computeKnownBits that returns a KnownB...Craig Topper2017-05-081-67/+52
* [KnownBits] Add wrapper methods for setting and clear all bits in the underly...Craig Topper2017-05-051-32/+18
* [ValueTracking] Remove handling for BitWidth being 0 in ComputeSignBit and is...Craig Topper2017-05-031-12/+5
* [KnownBits] Add zext, sext, and trunc methods to KnownBitsCraig Topper2017-05-031-8/+4
* Replace hardcoded intrinsic list with speculatable attribute.Matt Arsenault2017-05-031-60/+3
* Rename isKnownNotFullPoison to programUndefinedIfPoison; NFCSanjoy Das2017-04-301-1/+1
* [KnownBits] Add methods for determining if the known bits represent a negativ...Craig Topper2017-04-291-45/+45
* [ValueTracking] Teach isSafeToSpeculativelyExecute() about the speculatable a...Matt Arsenault2017-04-281-0/+6
* Kill off the old SimplifyInstruction API by converting remaining users.Daniel Berlin2017-04-281-1/+1
* [ValueTracking] Use APInt::isSubsetOf and APInt::intersects. NFCCraig Topper2017-04-281-2/+2
* [ValueTracking] Convert computeKnownBitsFromRangeMetadata to use KnownBits st...Craig Topper2017-04-281-9/+8
* [ValueTracking] Introduce a KnownBits struct to wrap the two APInts for compu...Craig Topper2017-04-261-440/+412
* [APInt] Use isSubsetOf, intersects, and bit counting methods to reduce tempor...Craig Topper2017-04-251-4/+4
* [ValueTracking] Use APInt::operator|=(uint64_t) instead of creating a tempora...Craig Topper2017-04-251-2/+2
* [ValueTracking] Use APInt instead of auto. NFCCraig Topper2017-04-251-1/+1
* [ValueTracking] Use BitWidth local variable instead of re-reading it from Kno...Craig Topper2017-04-251-1/+1
* [ValueTracking] Use APInt::setAllBits and APInt::intersects to simplify some ...Craig Topper2017-04-211-3/+4
* [APInt] Rename getSignBit to getSignMaskCraig Topper2017-04-201-3/+3
* [APInt] Cast calls to add/sub/mul overflow methods to void if only their over...Craig Topper2017-04-191-2/+2
* [APInt] Use lshrInPlace to replace lshr where possibleCraig Topper2017-04-181-8/+13
* Introduce APInt::isSignBitSet/isSignBitClear. Use in place isSignBitSet in pl...Craig Topper2017-04-171-34/+34
* [InstCombine][ValueTracking] When computing known bits for Srem make sure we ...Craig Topper2017-04-161-8/+5
* [ValueTracking] Calculate the KnownZeros for Intrinsic::ctpop without using a...Craig Topper2017-04-141-5/+2
* [ValueTracking] Use APInt::isNegative(). NFCCraig Topper2017-04-141-1/+1
* [ValueTracking] Use APInt::sext instead of zext and setBitsFrom. NFCCraig Topper2017-04-141-7/+2
* [ValueTracking] Remove duplicate call to computeKnownBits for the operands of...Craig Topper2017-04-131-5/+1
* [ValueTracking] Prevent a call to computeKnownBits if we already know the sta...Craig Topper2017-04-131-7/+8
* [ValueTracking] Move a temporary APInt instead of copying it.Craig Topper2017-04-131-1/+1
* [ValueTracking] Teach GetUnderlyingObject to stop when it reachs an alloca in...Craig Topper2017-04-121-0/+3
* [APInt] Remove shift functions from APIntOps namespace. Replace the few users...Craig Topper2017-03-311-4/+4
* Revert r298711 "[InstCombine] Provide a way to calculate KnownZero/One for Ad...Craig Topper2017-03-241-35/+21
* [InstCombine] Provide a way to calculate KnownZero/One for Add/Sub in Simplif...Craig Topper2017-03-241-21/+35
* [ValueTracking] Use uint64_t for CarryIn in computeKnownBitsAddSub instead of...Craig Topper2017-03-241-2/+2
* [ValueTracking] Convert more places to use setHighBits/setLowBits/setSignBit....Craig Topper2017-03-241-7/+6
* [ValueTracking] Use APInt::isNegative instead of using operator[BitWidth-1]. ...Craig Topper2017-03-231-7/+7
* [ValueTracking] Use setAllBits/setSignBit/setLowBits/setHighBits. NFCICraig Topper2017-03-231-20/+22
* [ValueTracking] Make sure we keep range metadata information when calculating...Craig Topper2017-03-221-2/+2
* [ValueTracking] use setLowBits/setHighBits/setBitsFrom to replace |= getHighB...Craig Topper2017-03-221-16/+13
* [ValueTracking] Remove deadish code from computeKnownBitsAddSub.Craig Topper2017-03-181-24/+0
* [ValueTracking] Add APInt::setSignBit and use it to replace ORing with getSig...Craig Topper2017-03-181-6/+6
* [ValueTracking] Out of range shifts might be undefOliver Stannard2017-03-141-0/+8
* Handle UnreachableInst in isGuaranteedToTransferExecutionToSuccessorSebastian Pop2017-03-081-0/+2
* [ValueTracking] Don't do an unchecked shift in ComputeNumSignBitsSanjoy Das2017-02-251-2/+21
* [ValueTracking] Make poison propagation more aggressiveSanjoy Das2017-02-221-49/+3
* [ValueTracking] clang-format a section I'm about to touch; NFCSanjoy Das2017-02-211-64/+64
OpenPOWER on IntegriCloud