This is an automated email from the ASF dual-hosted git repository.

ruihangl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm.git


The following commit(s) were added to refs/heads/main by this push:
     new b0143d106f [CMAKE] Make LOG_BEFORE_THROW explicit (#16914)
b0143d106f is described below

commit b0143d106f53ed811ec81612b2c88bea988b4323
Author: Tianqi Chen <tqc...@users.noreply.github.com>
AuthorDate: Mon Apr 22 09:34:19 2024 -0400

    [CMAKE] Make LOG_BEFORE_THROW explicit (#16914)
    
    This PR introduces an explicit option about log_fatal_before_throw.
---
 CMakeLists.txt              | 11 ++++++++---
 cmake/modules/LibInfo.cmake |  1 +
 src/support/libinfo.cc      |  9 +++++++--
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 94b1e4f86f..683ce819db 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,6 +64,7 @@ tvm_option(USE_PROFILER "Build profiler for the VM and graph 
executor" ON)
 tvm_option(USE_OPENMP "Build with OpenMP thread pool implementation" OFF)
 tvm_option(USE_RELAY_DEBUG "Building Relay in debug mode..." OFF)
 tvm_option(TVM_DEBUG_WITH_ABI_CHANGE "Enable debug code that may cause ABI 
changes" OFF)
+tvm_option(TVM_LOG_BEFORE_THROW "Whether log before throw, for debugging 
purposes" OFF)
 tvm_option(USE_RTTI "Build with RTTI" ON)
 tvm_option(USE_MSVC_MT "Build with MT" OFF)
 tvm_option(USE_MICRO "Build with Micro TVM support" OFF)
@@ -155,6 +156,12 @@ if(NOT IS_SUBPROJECT AND NOT DEFINED 
"${CMAKE_EXPORT_COMPILE_COMMANDS}")
   set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 endif()
 
+if(TVM_LOG_BEFORE_THROW)
+  # log error before throw as
+  # when system have issues with stack trace
+  add_definitions(-DDMLC_LOG_BEFORE_THROW=1)
+endif()
+
 # Generic compilation options
 if(MSVC)
   add_definitions(-DWIN32_LEAN_AND_MEAN)
@@ -162,9 +169,7 @@ if(MSVC)
   add_definitions(-D_SCL_SECURE_NO_WARNINGS)
   add_definitions(-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
   add_definitions(-DNOMINMAX)
-  # log error before throw as usually windows
-  # may have issues with stack trace
-  add_definitions(-DDMLC_LOG_BEFORE_THROW=1)
+
   # regeneration does not work well with msbuild custom rules.
   set(CMAKE_SUPPRESS_REGENERATION ON)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
diff --git a/cmake/modules/LibInfo.cmake b/cmake/modules/LibInfo.cmake
index 6c13a42777..c4637a0c17 100644
--- a/cmake/modules/LibInfo.cmake
+++ b/cmake/modules/LibInfo.cmake
@@ -114,6 +114,7 @@ function(add_lib_info src_file)
     TVM_INFO_USE_RANDOM="${USE_RANDOM}"
     TVM_INFO_USE_RELAY_DEBUG="${USE_RELAY_DEBUG}"
     TVM_INFO_TVM_DEBUG_WITH_ABI_CHANGE="${TVM_DEBUG_WITH_ABI_CHANGE}"
+    TVM_INFO_TVM_LOG_BEFORE_THROW="${TVM_LOG_BEFORE_THROW}"
     TVM_INFO_USE_ROCBLAS="${USE_ROCBLAS}"
     TVM_INFO_USE_ROCM="${USE_ROCM}"
     TVM_INFO_USE_RCCL="${USE_RCCL}"
diff --git a/src/support/libinfo.cc b/src/support/libinfo.cc
index de21a76beb..561e495a35 100644
--- a/src/support/libinfo.cc
+++ b/src/support/libinfo.cc
@@ -131,8 +131,12 @@
 #define TVM_INFO_USE_RELAY_DEBUG "NOT-FOUND"
 #endif
 
-#ifndef TVM_INFO_TVM_DEBUG_WITH_ABI_CHANGE
-#define TVM_INFO_TVM_DEBUG_WITH_ABI_CHANGE "NOT-FOUND"
+#ifndef TVM_INFO_DEBUG_WITH_ABI_CHANGE
+#define TVM_INFO_DEBUG_WITH_ABI_CHANGE "NOT-FOUND"
+#endif
+
+#ifndef TVM_INFO_LOG_BEFORE_THROW
+#define TVM_INFO_LOG_BEFORE_THROW "NOT-FOUND"
 #endif
 
 #ifndef TVM_INFO_USE_RTTI
@@ -354,6 +358,7 @@ TVM_DLL Map<String, String> GetLibInfo() {
       {"USE_RANDOM", TVM_INFO_USE_RANDOM},
       {"USE_RELAY_DEBUG", TVM_INFO_USE_RELAY_DEBUG},
       {"TVM_DEBUG_WITH_ABI_CHANGE", TVM_INFO_TVM_DEBUG_WITH_ABI_CHANGE},
+      {"TVM_LOG_BEFORE_THROW", TVM_INFO_TVM_LOG_BEFORE_THROW},
       {"USE_ROCBLAS", TVM_INFO_USE_ROCBLAS},
       {"USE_ROCM", TVM_INFO_USE_ROCM},
       {"USE_RCCL", TVM_INFO_USE_RCCL},

Reply via email to