From: Philip Reames Date: Wed, 15 Apr 2020 19:34:48 +0000 (-0700) Subject: [NFC] Use new canCreatePoison to make code intent more clear in PoisonChecking X-Git-Tag: llvmorg-12-init~8895 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=75ca7127bc1111c8ef7ef68c8c1e7e48bea666f2;p=platform%2Fupstream%2Fllvm.git [NFC] Use new canCreatePoison to make code intent more clear in PoisonChecking --- diff --git a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp index f25b057..a86d57a 100644 --- a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp +++ b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp @@ -192,6 +192,8 @@ static Value* generatePoisonChecks(Instruction &I) { // Handle non-binops seperately switch (I.getOpcode()) { default: + // Note there are a couple of missing cases here, once implemented, this + // should become an llvm_unreachable. break; case Instruction::ExtractElement: { Value *Vec = I.getOperand(0); @@ -296,8 +298,9 @@ static bool rewrite(Function &F) { for (Value *V : I.operands()) Checks.push_back(getPoisonFor(ValToPoison, V)); - if (auto *Check = generatePoisonChecks(I)) - Checks.push_back(Check); + if (canCreatePoison(&I)) + if (auto *Check = generatePoisonChecks(I)) + Checks.push_back(Check); ValToPoison[&I] = buildOrChain(B, Checks); }