[clang] [llvm] [ubsan] Plumb through -fsanitize-skip-hot-cutoff to LowerAllowCheckPass (PR #124211)

Thurston Dang via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 26 15:51:04 PST 2025


================
@@ -828,11 +828,34 @@ parseLowerAllowCheckPassOptions(StringRef Params) {
     StringRef ParamName;
     std::tie(ParamName, Params) = Params.split(';');
 
-    return make_error<StringError>(
-        formatv("invalid LowerAllowCheck pass parameter '{0}' ", ParamName)
-            .str(),
-        inconvertibleErrorCode());
+    // cutoffs=990000|990000|0|...100000
+    if (ParamName.starts_with("cutoffs=")) {
+      StringRef CutoffsStr;
+      std::tie(ParamName, CutoffsStr) = ParamName.split('=');
+
+      while (CutoffsStr != "") {
+        StringRef firstCutoffStr;
+        std::tie(firstCutoffStr, CutoffsStr) = CutoffsStr.split('|');
----------------
thurstond wrote:

The problem is opt uses commas to separate passes, so `opt -passes=msan<cutoffs=1,2,3>,someOtherPass` gets misparsed into something like `msan<cutoffs=1`, `2`, `3>,`, `someOtherPass`.

https://github.com/llvm/llvm-project/pull/124211


More information about the llvm-commits mailing list