From: Philip Reames Date: Wed, 15 Apr 2020 20:15:12 +0000 (-0700) Subject: [PoisonChecking] Further clarify file scope comment, and update to match naming now... X-Git-Tag: llvmorg-12-init~8893 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=80c46c53bd01ea12495c0e9b4b6c871cef74638d;p=platform%2Fupstream%2Fllvm.git [PoisonChecking] Further clarify file scope comment, and update to match naming now used in code --- diff --git a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp index 85976b7..bb90c7b 100644 --- a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp +++ b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp @@ -21,17 +21,15 @@ // 2) A propagation rule which translates dynamic information about the poison // state of each input to whether the dynamic output of the instruction // produces poison. -// 3) A flag validation rule which validates any poison producing flags on the +// 3) A creation rule which validates any poison producing flags on the // instruction itself (e.g. checks for overflow on nsw). // 4) A check rule which traps (to a handler function) if this instruction must // execute undefined behavior given the poison state of it's inputs. // -// At the moment, the UB detection is done in a best effort manner; that is, -// the resulting code may produce a false negative result (not report UB when -// it actually exists according to the LangRef spec), but should never produce -// a false positive (report UB where it doesn't exist). The intention is to -// eventually support a "strict" mode which never dynamically reports a false -// negative at the cost of rejecting some valid inputs to translation. +// This is a must analysis based transform; that is, the resulting code may +// produce a false negative result (not report UB when actually exists +// according to the LangRef spec), but should never produce a false positive +// (report UB where it doesn't exist). // // Use cases for this pass include: // - Understanding (and testing!) the implications of the definition of poison