[llvm] r196329 - check-llvm: Ask llvm-config about assertion mode, instead of llc.

NAKAMURA Takumi geek4civic at gmail.com
Tue Dec 3 15:22:26 PST 2013


Author: chapuni
Date: Tue Dec  3 17:22:25 2013
New Revision: 196329

URL: http://llvm.org/viewvc/llvm-project?rev=196329&view=rev
Log:
check-llvm: Ask llvm-config about assertion mode, instead of llc.

Add --assertion-mode to llvm-config. It emits ON or OFF according to NDEBUG.

Modified:
    llvm/trunk/test/CMakeLists.txt
    llvm/trunk/test/lit.cfg
    llvm/trunk/tools/llvm-config/llvm-config.cpp

Modified: llvm/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CMakeLists.txt?rev=196329&r1=196328&r2=196329&view=diff
==============================================================================
--- llvm/trunk/test/CMakeLists.txt (original)
+++ llvm/trunk/test/CMakeLists.txt Tue Dec  3 17:22:25 2013
@@ -15,6 +15,7 @@ endif()
 # Set the depends list as a variable so that it can grow conditionally.
 # NOTE: Sync the substitutions in test/lit.cfg when adding to this list.
 set(LLVM_TEST_DEPENDS
+          llvm-config
           UnitTests
           BugpointPasses
           LLVMHello

Modified: llvm/trunk/test/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/lit.cfg?rev=196329&r1=196328&r2=196329&view=diff
==============================================================================
--- llvm/trunk/test/lit.cfg (original)
+++ llvm/trunk/test/lit.cfg Tue Dec  3 17:22:25 2013
@@ -305,18 +305,19 @@ if config.have_zlib == "1":
 if config.host_triple == config.target_triple:
     config.available_features.add("native")
 
-# llc knows whether he is compiled with -DNDEBUG.
+# Ask llvm-config about assertion mode.
 import subprocess
 try:
-    llc_cmd = subprocess.Popen([os.path.join(llvm_tools_dir, 'llc'), '-version'],
-                           stdout = subprocess.PIPE)
+    llvm_config_cmd = subprocess.Popen(
+        [os.path.join(llvm_tools_dir, 'llvm-config'), '--assertion-mode'],
+        stdout = subprocess.PIPE)
 except OSError:
-    print("Could not find llc in " + llvm_tools_dir)
+    print("Could not find llvm-config in " + llvm_tools_dir)
     exit(42)
 
-if re.search(r'with assertions', llc_cmd.stdout.read().decode('ascii')):
+if re.search(r'ON', llvm_config_cmd.stdout.read().decode('ascii')):
     config.available_features.add('asserts')
-llc_cmd.wait()
+llvm_config_cmd.wait()
 
 if 'darwin' == sys.platform:
     try:

Modified: llvm/trunk/tools/llvm-config/llvm-config.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-config/llvm-config.cpp?rev=196329&r1=196328&r2=196329&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-config/llvm-config.cpp (original)
+++ llvm/trunk/tools/llvm-config/llvm-config.cpp Tue Dec  3 17:22:25 2013
@@ -154,6 +154,7 @@ Options:\n\
   --targets-built   List of all targets currently built.\n\
   --host-target     Target triple used to configure LLVM.\n\
   --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).\n\
+  --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).\n\
 Typical components:\n\
   all               All LLVM libraries (default).\n\
   engine            Either a native JIT or a bitcode interpreter.\n";
@@ -306,6 +307,12 @@ int main(int argc, char **argv) {
           build_mode = CMAKE_CFG_INTDIR;
 #endif
         OS << build_mode << '\n';
+      } else if (Arg == "--assertion-mode") {
+#if defined(NDEBUG)
+        OS << "OFF\n";
+#else
+        OS << "ON\n";
+#endif
       } else if (Arg == "--obj-root") {
         OS << LLVM_OBJ_ROOT << '\n';
       } else if (Arg == "--src-root") {





More information about the llvm-commits mailing list