fix llvm 3.9 build
authorBrenden Blanco <bblanco@plumgrid.com>
Thu, 5 May 2016 06:13:01 +0000 (23:13 -0700)
committerBrenden Blanco <bblanco@plumgrid.com>
Thu, 5 May 2016 06:13:01 +0000 (23:13 -0700)
Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
src/cc/CMakeLists.txt
src/cc/frontends/b/codegen_llvm.cc

index c905e3d..acef309 100644 (file)
@@ -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
index 785531f..7adcb93 100644 (file)
@@ -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);
 }