[llvm] 80c46c5 - [PoisonChecking] Further clarify file scope comment, and update to match naming now used in code
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 15 14:49:09 PDT 2020
Author: Philip Reames
Date: 2020-04-15T14:48:53-07:00
New Revision: 80c46c53bd01ea12495c0e9b4b6c871cef74638d
URL: https://github.com/llvm/llvm-project/commit/80c46c53bd01ea12495c0e9b4b6c871cef74638d
DIFF: https://github.com/llvm/llvm-project/commit/80c46c53bd01ea12495c0e9b4b6c871cef74638d.diff
LOG: [PoisonChecking] Further clarify file scope comment, and update to match naming now used in code
Added:
Modified:
llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp b/llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
index 85976b70eaaf..bb90c7bb41b9 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
More information about the llvm-commits
mailing list