diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-08-30 09:19:05 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-08-30 09:19:05 +0000 |
commit | 492e612e01101d92e37f06f95008c28b85d27861 (patch) | |
tree | 18c41744ad89682b5caa8c21134696d50ebc59be /llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp | |
parent | e7e33ba13a86fbd52af07043cdfc990e4c3ed230 (diff) | |
download | bcm5719-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.cpp | 8 |
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(); } |