list(TRANSFORM LIBOMPTARGET_LLVM_INCLUDE_DIRS_DEVICERTL PREPEND "-I")
# Set flags for LLVM Bitcode compilation.
-set(bc_flags -S -x c++ -std=c++17
+set(bc_flags -S -x c++ -std=c++17 -fvisibility=hidden
${clang_opt_flags}
-Xclang -emit-llvm-bc
-Xclang -aux-triple -Xclang ${aux_triple}
endforeach()
foreach(mcpu ${amdgpu_mcpus})
- compileDeviceRTLLibrary(${mcpu} amdgpu -target amdgcn-amd-amdhsa -D__AMDGCN__ -fvisibility=default -nogpulib)
+ compileDeviceRTLLibrary(${mcpu} amdgpu -target amdgcn-amd-amdhsa -D__AMDGCN__ -nogpulib)
endforeach()
// TODO: clang should use address space 5 for omp_thread_mem_alloc, but right
// now that's not the case.
#define THREAD_LOCAL(NAME) \
- NAME [[clang::loader_uninitialized, clang::address_space(5), \
- gnu::visibility("hidden")]]
+ NAME [[clang::loader_uninitialized, clang::address_space(5)]]
// TODO: clang should use address space 4 for omp_const_mem_alloc, maybe it
// does?
extern uint32_t __omp_rtl_debug_kind; // defined by CGOpenMPRuntimeGPU
// TODO: We want to change the name as soon as the old runtime is gone.
+// This variable should be visibile to the plugin so we override the default
+// hidden visibility.
DeviceEnvironmentTy CONSTANT(omptarget_device_environment)
- __attribute__((used, retain, weak));
+ __attribute__((used, retain, weak, visibility("protected")));
uint32_t config::getDebugKind() {
return __omp_rtl_debug_kind & omptarget_device_environment.DebugKind;
-fopenmp -fopenmp-cuda-mode -Xclang -fopenmp-is-device
-D__AMDGCN__
-Xclang -target-cpu -Xclang ${mcpu}
- -fvisibility=default
+ -fvisibility=hidden
-Wno-unused-value
-nogpulib
-O${optimization_level}
__attribute__((used)) /* Don't discard values the plugin reads */ \
__attribute__((weak)) /* We may have multiple definitions */ \
__attribute__((retain)) /* Also needed to keep values alive */ \
- __attribute__((visibility("default"))) /* Access via SHT_HASH */ \
- __attribute__((section(".data"))) /* Not .bss, can write before load */
+ __attribute__((visibility("protected"))) /* Access via SHT_HASH */ \
+ __attribute__((section(".data"))) /* Not .bss, can write before load */
#include "llvm/Frontend/OpenMP/OMPGridValues.h"
-mllvm -openmp-opt-disable
-ffreestanding
-target nvptx64
+ -fvisibility=hidden
-Xclang -emit-llvm-bc
-Xclang -aux-triple -Xclang ${aux_triple}
-fopenmp -fopenmp-cuda-mode -Xclang -fopenmp-is-device