================
@@ -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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to