Convert shared build of LLVM OpenMP to in-tree#1558
Convert shared build of LLVM OpenMP to in-tree#1558ppenzin wants to merge 1 commit intoriscv-collab:masterfrom
Conversation
LLVM OpenMP can't bed built both ways at the same time, also in-tree build needs to avoid 32-bit for now as well.
|
@wangpc-pp this is the approach I've mentioned earlier. This was developed for only one OpenMP build type (shared, but would work for either, as long it's just one), and it doesn't look as good with half of the out-of-tree build still left around. |
| ifneq ($(XLEN),32) | ||
| XLEN := 64 | ||
| LLVM_OPENMP := openmp | ||
| LLVM_OPENMP_CMAKE_FLAGS := -DRUNTIMES_CMAKE_ARGS="-DLIBOMP_OMPD_SUPPORT=OFF;-DLIBOMP_ARCHER_SUPPORT=OFF;-DOPENMP_ENABLE_LIBOMPTARGET=OFF" |
There was a problem hiding this comment.
Should we turn off these for static build as well?
There was a problem hiding this comment.
We disable LIBOMPTARGGET already. Archer and OMPD are related to debugging, if out of tree build locates them it might be one more argument in favor of that 😄
ppenzin
left a comment
There was a problem hiding this comment.
See response inline. It might make sense to still test in-tree build, though not sure that in scope for this project.
| ifneq ($(XLEN),32) | ||
| XLEN := 64 | ||
| LLVM_OPENMP := openmp | ||
| LLVM_OPENMP_CMAKE_FLAGS := -DRUNTIMES_CMAKE_ARGS="-DLIBOMP_OMPD_SUPPORT=OFF;-DLIBOMP_ARCHER_SUPPORT=OFF;-DOPENMP_ENABLE_LIBOMPTARGET=OFF" |
There was a problem hiding this comment.
We disable LIBOMPTARGGET already. Archer and OMPD are related to debugging, if out of tree build locates them it might be one more argument in favor of that 😄
| -DLLVM_TARGETS_TO_BUILD="RISCV" \ | ||
| -DLLVM_ENABLE_PROJECTS="clang;lld" \ | ||
| -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \ | ||
| -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind;$(LLVM_OPENMP)" \ |
There was a problem hiding this comment.
If LLVM_OPENMP is empty, the build system of LLVM will complain Runtime "" is not a supported runtime..
LLVM OpenMP can't bed built both ways at the same time, also in-tree build needs to avoid 32-bit for now as well.