diff options
author | Frederik Harwath <frederik.harwath@amd.com> | 2025-09-10 10:44:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-10 10:44:28 +0200 |
commit | ffcf82c4a8966450ee1ccf742287c9b2bdef2e26 (patch) | |
tree | 49829ad82daff87619384a897faefb5ac376b43d /llvm/lib/Passes/PassBuilder.cpp | |
parent | bc65352ab5eeabecd6d8dca0ca1d5a628101dfde (diff) | |
download | llvm-ffcf82c4a8966450ee1ccf742287c9b2bdef2e26.zip llvm-ffcf82c4a8966450ee1ccf742287c9b2bdef2e26.tar.gz llvm-ffcf82c4a8966450ee1ccf742287c9b2bdef2e26.tar.bz2 |
[AMDGPU] Change expand-fp opt level argument syntax (#157408)
Align the syntax used for the optimization level argument of the
expand-fp pass in textual descriptions of pass pipelines with the syntax
used by other passes taking a similar argument. That is, use e.g.
`expand-fp<O1>` instead of `expand-fp<opt-level=1>`.
Diffstat (limited to 'llvm/lib/Passes/PassBuilder.cpp')
-rw-r--r-- | llvm/lib/Passes/PassBuilder.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index 587f0ec..8cf2776 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -1493,25 +1493,23 @@ parseBoundsCheckingOptions(StringRef Params) { return Options; } -Expected<CodeGenOptLevel> parseExpandFpOptions(StringRef Params) { - if (Params.empty()) +Expected<CodeGenOptLevel> parseExpandFpOptions(StringRef Param) { + if (Param.empty()) return CodeGenOptLevel::None; - StringRef Param; - std::tie(Param, Params) = Params.split(';'); - if (!Params.empty()) - return createStringError("too many expand-fp pass parameters"); + // Parse a CodeGenOptLevel, e.g. "O1", "O2", "O3". + auto [Prefix, Digit] = Param.split('O'); - auto [Name, Val] = Param.split('='); - if (Name != "opt-level") + uint8_t N; + if (!Prefix.empty() || Digit.getAsInteger(10, N)) return createStringError("invalid expand-fp pass parameter '%s'", Param.str().c_str()); - int8_t N; - Val.getAsInteger(10, N); + std::optional<CodeGenOptLevel> Level = CodeGenOpt::getLevel(N); if (!Level.has_value()) - return createStringError("invalid expand-fp opt-level value: %s", - Val.str().c_str()); + return createStringError( + "invalid optimization level for expand-fp pass: %s", + Digit.str().c_str()); return *Level; } |