aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Passes/PassBuilder.cpp
diff options
context:
space:
mode:
authorFlorian Mayer <fmayer@google.com>2025-06-27 11:28:07 -0700
committerGitHub <noreply@github.com>2025-06-27 11:28:07 -0700
commit71bc606e95d6771467326013c2e006728eabf4a8 (patch)
treede76476778842aae7de509637178d6d58068a682 /llvm/lib/Passes/PassBuilder.cpp
parent6c2e912855103768283bd6df3de055959976fde1 (diff)
downloadllvm-71bc606e95d6771467326013c2e006728eabf4a8.zip
llvm-71bc606e95d6771467326013c2e006728eabf4a8.tar.gz
llvm-71bc606e95d6771467326013c2e006728eabf4a8.tar.bz2
[LowerAllowCheckPass] allow to specify runtime.check hotness (#145998)
Diffstat (limited to 'llvm/lib/Passes/PassBuilder.cpp')
-rw-r--r--llvm/lib/Passes/PassBuilder.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp
index f95c32d..bb266ac 100644
--- a/llvm/lib/Passes/PassBuilder.cpp
+++ b/llvm/lib/Passes/PassBuilder.cpp
@@ -938,6 +938,19 @@ parseLowerAllowCheckPassOptions(StringRef Params) {
Result.cutoffs[index] = cutoff;
}
+ } else if (ParamName.starts_with("runtime_check")) {
+ StringRef ValueString;
+ std::tie(std::ignore, ValueString) = ParamName.split("=");
+ int runtime_check;
+ if (ValueString.getAsInteger(0, runtime_check)) {
+ return make_error<StringError>(
+ formatv("invalid LowerAllowCheck pass runtime_check parameter '{}' "
+ "({})",
+ ValueString, Params)
+ .str(),
+ inconvertibleErrorCode());
+ }
+ Result.runtime_check = runtime_check;
} else {
return make_error<StringError>(
formatv("invalid LowerAllowCheck pass parameter '{}'", ParamName)