summaryrefslogtreecommitdiff
path: root/parallel-libs
diff options
context:
space:
mode:
authorJason Henline <jhen@google.com>2016-09-13 15:44:18 +0000
committerJason Henline <jhen@google.com>2016-09-13 15:44:18 +0000
commitaffd6065c1c81f9f01b2e744158cb22ab4b1123b (patch)
tree6694f4e19174d43395b5b3e2a54be94677cde850 /parallel-libs
parentc0a5316c74134f1f8093b55606ea9aa4710e8aba (diff)
[SE] Stop using llvm-config --cxxflags
Summary: Build configuration was adding $(llvm-config --cxxflags) to the StreamExecutor CXXFLAGS, but this was causing "-O3" to be passed even for debug builds, and was making debugging difficult. The llvm-config call was originally introduced to handle the -fno-rtti flag because an RTTI StreamExecutor could not link with a no-RTTI LLVM. This patch converts to using LLVM_ENABLE_RTTI and only adding the `-fno-rtti` flag if needed, not all the rest of the LLVM CXXFLAGS. I have tested this with clang-4.0 and gcc-4.8 on Ubuntu. Some work will probably have to be done to support MSVC. Reviewers: jlebar Subscribers: beanz, jprice, parallel_libs-commits, mgorny Differential Revision: https://reviews.llvm.org/D24474
Diffstat (limited to 'parallel-libs')
-rw-r--r--parallel-libs/streamexecutor/CMakeLists.txt15
1 files changed, 4 insertions, 11 deletions
diff --git a/parallel-libs/streamexecutor/CMakeLists.txt b/parallel-libs/streamexecutor/CMakeLists.txt
index c2901045a6c..73934159cbf 100644
--- a/parallel-libs/streamexecutor/CMakeLists.txt
+++ b/parallel-libs/streamexecutor/CMakeLists.txt
@@ -26,17 +26,10 @@ if(STREAM_EXECUTOR_STANDALONE)
include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
- # Get the LLVM cxxflags by using llvm-config.
- #
- # This is necessary to get -fno-rtti if LLVM is compiled that way.
- execute_process(
- COMMAND
- "${LLVM_BINARY_DIR}/bin/llvm-config"
- --cxxflags
- OUTPUT_VARIABLE
- LLVM_CXXFLAGS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXXFLAGS}")
+ # If LLVM does not have RTTI, don't use it here either.
+ if (NOT LLVM_ENABLE_RTTI)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
+ endif()
set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")