Skip to content

Commit 0f7a60b

Browse files
authored
Cleanup how to search for ockl.bc & ocml.bc in DeviceRTL/CMakeLists.txt (llvm#814)
2 parents 4ecc0ee + 914a8ac commit 0f7a60b

File tree

1 file changed

+17
-38
lines changed

1 file changed

+17
-38
lines changed

offload/DeviceRTL/CMakeLists.txt

Lines changed: 17 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -133,47 +133,26 @@ function(compileDeviceRTLLibrary target_name target_triple)
133133
set(target_bc_flags ${ARGN})
134134

135135
if(${target_name} MATCHES "amdgpu")
136-
set(ockl_bc "${CMAKE_BINARY_DIR}/../rocm-device-libs-prefix/src/rocm-device-libs-build/lib/llvm/lib/clang/${LLVM_VERSION_MAJOR}/lib/amdgcn/bitcode/ockl.bc")
137-
if(NOT EXISTS ${ockl_bc})
138-
message("MISSING ockl_bc:${ockl_bc}")
139-
set(ockl_bc "${CMAKE_INSTALL_PREFIX}/../../amdgcn/bitcode/ockl.bc")
140-
if(NOT EXISTS ${ockl_bc})
141-
message("MISSING ockl_bc:${ockl_bc}")
142-
set(ockl_bc "/opt/rocm/amdgcn/bitcode/ockl.bc")
143-
if(NOT EXISTS ${ockl_bc})
144-
message("MISSING ockl_bc:${ockl_bc}")
145-
message(FATAL_ERROR "Could not find ockl.bc")
146-
else()
147-
message("-- FOUND in ROCm ockl_bc:${ockl_bc}")
148-
endif()
149-
else()
150-
message("-- FOUND in install ockl_bc:${ockl_bc}")
136+
set(amdbc_dirs
137+
"${CMAKE_BINARY_DIR}/../rocm-device-libs-prefix/src/rocm-device-libs-build/lib/llvm/lib/clang/${LLVM_VERSION_MAJOR}/lib/amdgcn/bitcode"
138+
"${CMAKE_INSTALL_PREFIX}/../../amdgcn/bitcode"
139+
"/opt/rocm/amdgcn/bitcode")
140+
foreach(amdbc_dir ${amdbc_dirs})
141+
if(EXISTS "${amdbc_dir}/ockl.bc" AND NOT _ockl_bc)
142+
set(_ockl_bc ${amdbc_dir}/ockl.bc)
151143
endif()
152-
else()
153-
message("-- FOUND in build ockl_bc:${ockl_bc}")
154-
endif()
155-
156-
set(ocml_bc "${CMAKE_BINARY_DIR}/../rocm-device-libs-prefix/src/rocm-device-libs-build/lib/llvm/lib/clang/${LLVM_VERSION_MAJOR}/lib/amdgcn/bitcode/ocml.bc")
157-
if(NOT EXISTS ${ocml_bc})
158-
message("MISSING ocml_bc:${ocml_bc}")
159-
set(ocml_bc "${CMAKE_INSTALL_PREFIX}/../../amdgcn/bitcode/ocml.bc")
160-
if(NOT EXISTS ${ocml_bc})
161-
message("MISSING ocml_bc:${ocml_bc}")
162-
set(ocml_bc "/opt/rocm/amdgcn/bitcode/ocml.bc")
163-
if(NOT EXISTS ${ocml_bc})
164-
message("MISSING ocml_bc:${ocml_bc}")
165-
message(FATAL_ERROR "Could not find ocml.bc")
166-
else()
167-
message("-- FOUND in ROCm ocml_bc:${ocml_bc}")
168-
endif()
169-
else()
170-
message("-- FOUND in install ocml_bc:${ocml_bc}")
144+
if(EXISTS "${amdbc_dir}/ocml.bc" AND NOT _ocml_bc)
145+
set(_ocml_bc ${amdbc_dir}/ocml.bc)
171146
endif()
172-
else()
173-
message("-- FOUND in build ocml_bc:${ocml_bc}")
147+
endforeach()
148+
if(NOT _ockl_bc)
149+
message(FATAL_ERROR "Could not find ockl.bc")
150+
endif()
151+
if(NOT _ocml_bc)
152+
message(FATAL_ERROR "Could not find ocml.bc")
174153
endif()
175-
list(APPEND bc_flags -Xclang -mlink-builtin-bitcode -Xclang ${ockl_bc})
176-
list(APPEND bc_flags -Xclang -mlink-builtin-bitcode -Xclang ${ocml_bc})
154+
list(APPEND bc_flags -Xclang -mlink-builtin-bitcode -Xclang ${_ockl_bc})
155+
list(APPEND bc_flags -Xclang -mlink-builtin-bitcode -Xclang ${_ocml_bc})
177156
endif()
178157

179158
set(bc_files "")

0 commit comments

Comments
 (0)