From a1e889b32bea86f41d18b38afe379fd0019a3c98 Mon Sep 17 00:00:00 2001 From: Brenden Blanco Date: Wed, 4 May 2016 23:13:01 -0700 Subject: [PATCH] fix llvm 3.9 build Signed-off-by: Brenden Blanco --- src/cc/CMakeLists.txt | 9 ++++++--- src/cc/frontends/b/codegen_llvm.cc | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt index c905e3d..acef309 100644 --- a/src/cc/CMakeLists.txt +++ b/src/cc/CMakeLists.txt @@ -41,10 +41,13 @@ add_library(bcc-loader-static libbpf.c perf_reader.c bcc_elf.c bcc_proc.c) add_library(bcc-static STATIC bpf_common.cc bpf_module.cc shared_table.cc exported_files.cc bcc_syms.cc usdt_args.cc usdt.cc) set_target_properties(bcc-static PROPERTIES OUTPUT_NAME bcc) -# BPF is still experimental otherwise it should be available -#llvm_map_components_to_libnames(llvm_libs bpf mcjit irreader passes) -llvm_map_components_to_libnames(llvm_libs bitwriter bpfcodegen irreader linker +set(llvm_raw_libs bitwriter bpfcodegen irreader linker mcjit objcarcopts option passes nativecodegen) +list(FIND LLVM_AVAILABLE_LIBS "LLVMCoverage" _llvm_coverage) +if (${_llvm_coverage} GREATER -1) + list(APPEND llvm_raw_libs coverage) +endif() +llvm_map_components_to_libnames(llvm_libs ${llvm_raw_libs}) llvm_expand_dependencies(expanded_libs ${llvm_libs}) # order is important diff --git a/src/cc/frontends/b/codegen_llvm.cc b/src/cc/frontends/b/codegen_llvm.cc index 785531f..7adcb93 100644 --- a/src/cc/frontends/b/codegen_llvm.cc +++ b/src/cc/frontends/b/codegen_llvm.cc @@ -698,7 +698,8 @@ StatusTuple CodegenLLVM::emit_atomic_add(MethodCallExprNode *n) { Value *lhs = B.CreateBitCast(pop_expr(), Type::getInt64PtrTy(ctx())); TRY2(n->args_[1]->accept(this)); Value *rhs = B.CreateSExt(pop_expr(), B.getInt64Ty()); - AtomicRMWInst *atomic_inst = B.CreateAtomicRMW(AtomicRMWInst::Add, lhs, rhs, SequentiallyConsistent); + AtomicRMWInst *atomic_inst = B.CreateAtomicRMW( + AtomicRMWInst::Add, lhs, rhs, AtomicOrdering::SequentiallyConsistent); atomic_inst->setVolatile(false); return mkstatus(0); } -- 2.7.4