Skip to content

Commit af401b0

Browse files
committed
llvm-wrapper: adapt for LLVM API changes
No functional changes intended. Adapts the wrapper for llvm/llvm-project@0a1aa6c. Found by our experimental rust + llvm @ head CI: https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/22301#018a9926-a810-4e56-8ac2-e6f30b78f433/253-551
1 parent e7f9f48 commit af401b0

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+19-5
Original file line numberDiff line numberDiff line change
@@ -239,16 +239,22 @@ enum class LLVMRustCodeGenOptLevel {
239239
Aggressive,
240240
};
241241

242-
static CodeGenOpt::Level fromRust(LLVMRustCodeGenOptLevel Level) {
242+
#if LLVM_VERSION_GE(18, 0)
243+
using CodeGenOptLevelEnum = llvm::CodeGenOptLevel;
244+
#else
245+
using CodeGenOptLevelEnum = llvm::CodeGenOpt::Level;
246+
#endif
247+
248+
static CodeGenOptLevelEnum fromRust(LLVMRustCodeGenOptLevel Level) {
243249
switch (Level) {
244250
case LLVMRustCodeGenOptLevel::None:
245-
return CodeGenOpt::None;
251+
return CodeGenOptLevelEnum::None;
246252
case LLVMRustCodeGenOptLevel::Less:
247-
return CodeGenOpt::Less;
253+
return CodeGenOptLevelEnum::Less;
248254
case LLVMRustCodeGenOptLevel::Default:
249-
return CodeGenOpt::Default;
255+
return CodeGenOptLevelEnum::Default;
250256
case LLVMRustCodeGenOptLevel::Aggressive:
251-
return CodeGenOpt::Aggressive;
257+
return CodeGenOptLevelEnum::Aggressive;
252258
default:
253259
report_fatal_error("Bad CodeGenOptLevel.");
254260
}
@@ -554,9 +560,17 @@ enum class LLVMRustFileType {
554560
static CodeGenFileType fromRust(LLVMRustFileType Type) {
555561
switch (Type) {
556562
case LLVMRustFileType::AssemblyFile:
563+
#if LLVM_VERSION_GE(18, 0)
564+
return CodeGenFileType::AssemblyFile;
565+
#else
557566
return CGFT_AssemblyFile;
567+
#endif
558568
case LLVMRustFileType::ObjectFile:
569+
#if LLVM_VERSION_GE(18, 0)
570+
return CodeGenFileType::ObjectFile;
571+
#else
559572
return CGFT_ObjectFile;
573+
#endif
560574
default:
561575
report_fatal_error("Bad FileType.");
562576
}

0 commit comments

Comments
 (0)