From 75ca7127bc1111c8ef7ef68c8c1e7e48bea666f2 Mon Sep 17 00:00:00 2001 From: Philip Reames Date: Wed, 15 Apr 2020 12:34:48 -0700 Subject: [PATCH] [NFC] Use new canCreatePoison to make code intent more clear in PoisonChecking --- llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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); } -- 2.7.4