| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* APIntify visitAdd and visitSelectInst
* Remove unused uint64_t versions of utility functions that have been
replaced with APInt versions.
This completes most of the changes for APIntification of InstCombine. This
passes llvm-test and llvm/test/Transforms/InstCombine/APInt.
Patch by Zhou Sheng.
llvm-svn: 35287
|
| |
|
|
|
|
|
|
| |
APIntify visitDiv, visitMul and visitRem.
Patch by Zhou Sheng.
llvm-svn: 35283
|
| |
|
|
| |
llvm-svn: 35282
|
| |
|
|
|
|
|
|
|
| |
APIntify several utility functions supporting logical operators and shift
operators.
Patch by Zhou Sheng.
llvm-svn: 35281
|
| |
|
|
| |
llvm-svn: 35276
|
| |
|
|
| |
llvm-svn: 35275
|
| |
|
|
|
|
|
|
| |
APInt support for logical operators in visitAnd, visitOr, and visitXor.
Patch by Zhou Sheng.
llvm-svn: 35273
|
| |
|
|
|
|
|
|
|
|
| |
* APIntify commonIntCastTransforms
* APIntify visitTrunc
* APIntify visitZExt
Patch by Zhou Sheng.
llvm-svn: 35271
|
| |
|
|
|
|
|
|
| |
* Re-enable the APInt version of MaskedValueIsZero.
* APIntify the Comput{Un}SignedMinMaxValuesFromKnownBits functions
* APIntify visitICmpInst.
llvm-svn: 35270
|
| |
|
|
| |
llvm-svn: 35265
|
| |
|
|
|
|
|
|
|
| |
Analyze GEPs. If the indices are all zero, transfer whether the pointer is
known to be not null through the GEP.
Add a few more cases for xor and shift instructions.
llvm-svn: 35257
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Fix some indentation and comments in InsertRangeTest
* Add an "IsSigned" parameter to AddWithOverflow and make it handle signed
additions. Also, APIntify this function so it works with any bitwidth.
* For the icmp pred ([us]div %X, C1), C2 transforms, exit early if the
div instruction's RHS is zero.
* Finally, for icmp pred (sdiv %X, C1), -C2, fix an off-by-one error. The
HiBound needs to be incremented in order to get the range test correct.
llvm-svn: 35247
|
| |
|
|
|
|
| |
instructions (that would have to be split later)
llvm-svn: 35227
|
| |
|
|
| |
llvm-svn: 35224
|
| |
|
|
|
|
| |
Use ETForest instead of DominatorSet.
llvm-svn: 35221
|
| |
|
|
| |
llvm-svn: 35211
|
| |
|
|
| |
llvm-svn: 35197
|
| |
|
|
| |
llvm-svn: 35194
|
| |
|
|
| |
llvm-svn: 35190
|
| |
|
|
|
|
| |
Patch by Sheng Zhou.
llvm-svn: 35188
|
| |
|
|
|
|
| |
Patch by Zhou Sheng.
llvm-svn: 35187
|
| |
|
|
| |
llvm-svn: 35186
|
| |
|
|
|
|
| |
2. Replace uses of the "isPositive" utility function with APInt::isPositive
llvm-svn: 35185
|
| |
|
|
|
|
| |
Patch by Sheng Zhou.
llvm-svn: 35184
|
| |
|
|
| |
llvm-svn: 35169
|
| |
|
|
|
|
| |
implements Transforms/ScalarRepl/memset-aggregate-byte-leader.ll
llvm-svn: 35150
|
| |
|
|
| |
llvm-svn: 35146
|
| |
|
|
|
|
| |
Rearrange some code to simplify it now that shifts are binops
llvm-svn: 35145
|
| |
|
|
|
|
| |
Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0.
llvm-svn: 35138
|
| |
|
|
| |
llvm-svn: 35137
|
| |
|
|
|
|
|
|
|
|
| |
Add new micro-optimizations.
Add icmp predicate snuggling. Given %x ULT 4, "icmp ugt %x, 2" becomes
"icmp eq %x, 3". This doesn't apply in any non-trivial cases yet due to missing
support for NE values in ValueRanges.
llvm-svn: 35119
|
| |
|
|
| |
llvm-svn: 35094
|
| |
|
|
| |
llvm-svn: 35093
|
| |
|
|
| |
llvm-svn: 35086
|
| |
|
|
|
|
| |
Fix PR1244 and Transforms/InstCombine/2007-03-13-CompareMerge.ll
llvm-svn: 35082
|
| |
|
|
|
|
|
|
| |
"APInt::getAllOnesValue(ShiftAmt).zextOrCopy(BitWidth)",
to handle ShiftAmt == BitWidth situation, use zextOrCopy() instead of
zext().
llvm-svn: 35080
|
| |
|
|
|
|
|
| |
1. Ensure VTy, KnownOne and KnownZero have same bitwidth.
2. Make code more efficient.
llvm-svn: 35078
|
| |
|
|
| |
llvm-svn: 35072
|
| |
|
|
|
|
|
|
| |
reserved and
can collide with system defined names. Windows defines _BB, for example.
llvm-svn: 35066
|
| |
|
|
|
|
| |
Patch by Zhou Sheng.
llvm-svn: 35064
|
| |
|
|
|
|
| |
Patch by Zhou Sheng.
llvm-svn: 35063
|
| |
|
|
| |
llvm-svn: 35062
|
| |
|
|
|
|
|
|
| |
1. Replace getSignedMinValue() with getSignBit() for better code readability.
2. Replace APIntOps::shl() with operator<<= for convenience.
3. Make APInt construction more effective.
llvm-svn: 35060
|
| |
|
|
|
|
| |
optimization power.
llvm-svn: 35058
|
| |
|
|
| |
llvm-svn: 35057
|
| |
|
|
| |
llvm-svn: 35053
|
| |
|
|
| |
llvm-svn: 35052
|
| |
|
|
|
|
| |
User from the list of I users.
llvm-svn: 35051
|
| |
|
|
| |
llvm-svn: 35027
|
| |
|
|
| |
llvm-svn: 35024
|