diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp --- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp @@ -2479,14 +2479,14 @@ if (I.getType()->isIntOrIntVectorTy(1)) { if (auto *SI0 = dyn_cast(Op0)) { - if (auto *I = + if (auto *R = foldAndOrOfSelectUsingImpliedCond(Op1, *SI0, /* IsAnd */ true)) - return I; + return R; } if (auto *SI1 = dyn_cast(Op1)) { - if (auto *I = + if (auto *R = foldAndOrOfSelectUsingImpliedCond(Op0, *SI1, /* IsAnd */ true)) - return I; + return R; } } @@ -3272,14 +3272,14 @@ Type *Ty = I.getType(); if (Ty->isIntOrIntVectorTy(1)) { if (auto *SI0 = dyn_cast(Op0)) { - if (auto *I = + if (auto *R = foldAndOrOfSelectUsingImpliedCond(Op1, *SI0, /* IsAnd */ false)) - return I; + return R; } if (auto *SI1 = dyn_cast(Op1)) { - if (auto *I = + if (auto *R = foldAndOrOfSelectUsingImpliedCond(Op0, *SI1, /* IsAnd */ false)) - return I; + return R; } }