diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp b/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp index fc64058fd4a..59753579bc3 100644 --- a/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp +++ b/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp @@ -1196,7 +1196,7 @@ static bool detectPopcountIdiom(Loop *CurLoop, BasicBlock *PreCondBB, VarX1 = DefX2->getOperand(0); SubOneOp = dyn_cast<BinaryOperator>(DefX2->getOperand(1)); } - if (!SubOneOp) + if (!SubOneOp || SubOneOp->getOperand(0) != VarX1) return false; ConstantInt *Dec = dyn_cast<ConstantInt>(SubOneOp->getOperand(1)); |