summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-08-30 09:19:05 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-08-30 09:19:05 +0000
commit492e612e01101d92e37f06f95008c28b85d27861 (patch)
tree18c41744ad89682b5caa8c21134696d50ebc59be /llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
parente7e33ba13a86fbd52af07043cdfc990e4c3ed230 (diff)
downloadbcm5719-llvm-492e612e01101d92e37f06f95008c28b85d27861.tar.gz
bcm5719-llvm-492e612e01101d92e37f06f95008c28b85d27861.zip
InstCombine: Respect recursion depth in visitUDivOperand
llvm-svn: 216817
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp b/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
index e7b8ed71486..3f86ddfd104 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
@@ -936,10 +936,10 @@ static size_t visitUDivOperand(Value *Op0, Value *Op1, const BinaryOperator &I,
return 0;
if (SelectInst *SI = dyn_cast<SelectInst>(Op1))
- if (size_t LHSIdx = visitUDivOperand(Op0, SI->getOperand(1), I, Actions))
- if (visitUDivOperand(Op0, SI->getOperand(2), I, Actions)) {
- Actions.push_back(UDivFoldAction((FoldUDivOperandCb)nullptr, Op1,
- LHSIdx-1));
+ if (size_t LHSIdx =
+ visitUDivOperand(Op0, SI->getOperand(1), I, Actions, Depth))
+ if (visitUDivOperand(Op0, SI->getOperand(2), I, Actions, Depth)) {
+ Actions.push_back(UDivFoldAction(nullptr, Op1, LHSIdx - 1));
return Actions.size();
}
OpenPOWER on IntegriCloud