mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-15 10:39:47 +00:00
Don't make TwoToExp signed by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60279 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f0e44c4d7a
commit
3f93df5733
@ -2960,8 +2960,7 @@ Instruction *InstCombiner::visitSDiv(BinaryOperator &I) {
|
||||
APInt RHSNegAPI(RHSNeg->getBitWidth(), RHSNeg->getSExtValue(), true);
|
||||
|
||||
APInt NegOne = -APInt(RHSNeg->getBitWidth(), 1, true);
|
||||
APInt TwoToExp(RHSNeg->getBitWidth(), 1 << (RHSNeg->getBitWidth() - 1),
|
||||
true);
|
||||
APInt TwoToExp(RHSNeg->getBitWidth(), 1 << (RHSNeg->getBitWidth() - 1));
|
||||
|
||||
// -X/C -> X/-C, if and only if negation doesn't overflow.
|
||||
if ((RHS->getSExtValue() < 0 && RHSNegAPI.slt(TwoToExp - 1)) ||
|
||||
|
Loading…
x
Reference in New Issue
Block a user