blob: 35f442fedb8f57748c0c68830577598531681dc9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
From 71618b5eae717c491e11b770dff14ba79306f0c8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Feb 2024 10:40:21 -0800
Subject: [PATCH 3/4] ast: Adjust to enum changes in llvm 18
llvm 18 has change CodeGenOpt::Level/CodeGenFileType into enum classes via
https://github.com/llvm/llvm-project/commit/0a1aa6cda2758b0926a95f87d39ffefb1cb90200
Upstream-Status: Submitted [https://github.com/bpftrace/bpftrace/pull/3009]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/ast/passes/codegen_llvm.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp
index 258b0b0b..ceab4bc4 100644
--- a/src/ast/passes/codegen_llvm.cpp
+++ b/src/ast/passes/codegen_llvm.cpp
@@ -73,7 +73,7 @@ CodegenLLVM::CodegenLLVM(Node *root, BPFtrace &bpftrace)
Optional<Reloc::Model>()
#endif
));
- target_machine_->setOptLevel(llvm::CodeGenOpt::Aggressive);
+ target_machine_->setOptLevel(llvm::CodeGenOptLevel::Aggressive);
module_->setTargetTriple(LLVMTargetTriple);
module_->setDataLayout(target_machine_->createDataLayout());
@@ -3530,7 +3530,9 @@ void CodegenLLVM::emit(raw_pwrite_stream &stream)
{
legacy::PassManager PM;
-#if LLVM_VERSION_MAJOR >= 10
+#if LLVM_VERSION_MAJOR >= 18
+ auto type = CodeGenFileType::ObjectFile;
+#elif LLVM_VERSION_MAJOR >= 10
auto type = llvm::CGFT_ObjectFile;
#else
auto type = llvm::TargetMachine::CGFT_ObjectFile;
--
2.43.2
|