[llvm] r329781 - [llvm-exegesis] Add a flag to disable libpfm even if present.

Clement Courbet via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 11 00:32:44 PDT 2018


Author: courbet
Date: Wed Apr 11 00:32:43 2018
New Revision: 329781

URL: http://llvm.org/viewvc/llvm-project?rev=329781&view=rev
Log:
[llvm-exegesis] Add a flag to disable libpfm even if present.

Summary: Fixes PR37053.

Reviewers: uabelho, gchatelet

Subscribers: mgorny, tschuett, llvm-commits

Differential Revision: https://reviews.llvm.org/D45436

Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/cmake/config-ix.cmake
    llvm/trunk/docs/CMake.rst
    llvm/trunk/tools/llvm-exegesis/CMakeLists.txt
    llvm/trunk/unittests/tools/llvm-exegesis/CMakeLists.txt

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=329781&r1=329780&r2=329781&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Wed Apr 11 00:32:43 2018
@@ -366,6 +366,8 @@ set(LLVM_ENABLE_LIBXML2 "ON" CACHE STRIN
 
 option(LLVM_ENABLE_LIBEDIT "Use libedit if available." ON)
 
+option(LLVM_ENABLE_LIBPFM "Use libpfm for performance counters if available." ON)
+
 option(LLVM_ENABLE_THREADS "Use threads if available." ON)
 
 option(LLVM_ENABLE_ZLIB "Use zlib for compression/decompression if available." ON)

Modified: llvm/trunk/cmake/config-ix.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/config-ix.cmake?rev=329781&r1=329780&r2=329781&view=diff
==============================================================================
--- llvm/trunk/cmake/config-ix.cmake (original)
+++ llvm/trunk/cmake/config-ix.cmake Wed Apr 11 00:32:43 2018
@@ -90,13 +90,15 @@ if( NOT PURE_WINDOWS )
 endif()
 
 # Check for libpfm.
-check_library_exists(pfm pfm_initialize "" HAVE_LIBPFM_INITIALIZE)
-if(HAVE_LIBPFM_INITIALIZE)
-  check_include_file(perfmon/perf_event.h HAVE_PERFMON_PERF_EVENT_H)
-  check_include_file(perfmon/pfmlib.h HAVE_PERFMON_PFMLIB_H)
-  check_include_file(perfmon/pfmlib_perf_event.h HAVE_PERFMON_PFMLIB_PERF_EVENT_H)
-  if(HAVE_PERFMON_PERF_EVENT_H AND HAVE_PERFMON_PFMLIB_H AND HAVE_PERFMON_PFMLIB_PERF_EVENT_H)
-    set(HAVE_LIBPFM 1)
+if (LLVM_ENABLE_LIBPFM)
+  check_library_exists(pfm pfm_initialize "" HAVE_LIBPFM_INITIALIZE)
+  if(HAVE_LIBPFM_INITIALIZE)
+    check_include_file(perfmon/perf_event.h HAVE_PERFMON_PERF_EVENT_H)
+    check_include_file(perfmon/pfmlib.h HAVE_PERFMON_PFMLIB_H)
+    check_include_file(perfmon/pfmlib_perf_event.h HAVE_PERFMON_PFMLIB_PERF_EVENT_H)
+    if(HAVE_PERFMON_PERF_EVENT_H AND HAVE_PERFMON_PFMLIB_H AND HAVE_PERFMON_PFMLIB_PERF_EVENT_H)
+      set(HAVE_LIBPFM 1)
+    endif()
   endif()
 endif()
 

Modified: llvm/trunk/docs/CMake.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CMake.rst?rev=329781&r1=329780&r2=329781&view=diff
==============================================================================
--- llvm/trunk/docs/CMake.rst (original)
+++ llvm/trunk/docs/CMake.rst Wed Apr 11 00:32:43 2018
@@ -374,6 +374,11 @@ LLVM-specific variables
 **LLVM_USE_INTEL_JITEVENTS**:BOOL
   Enable building support for Intel JIT Events API. Defaults to OFF.
 
+**LLVM_ENABLE_LIBPFM**:BOOL
+  Enable building with libpfm to support hardware counter measurements in LLVM
+  tools.
+  Defaults to ON.
+
 **LLVM_ENABLE_ZLIB**:BOOL
   Enable building with zlib to support compression/uncompression in LLVM tools.
   Defaults to ON.

Modified: llvm/trunk/tools/llvm-exegesis/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-exegesis/CMakeLists.txt?rev=329781&r1=329780&r2=329781&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-exegesis/CMakeLists.txt (original)
+++ llvm/trunk/tools/llvm-exegesis/CMakeLists.txt Wed Apr 11 00:32:43 2018
@@ -10,7 +10,6 @@ add_llvm_tool(llvm-exegesis
 add_subdirectory(lib)
 target_link_libraries(llvm-exegesis PRIVATE LLVMExegesis)
 
-if(HAVE_LIBPFM)
+if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM)
   target_link_libraries(llvm-exegesis PRIVATE pfm)
 endif()
-

Modified: llvm/trunk/unittests/tools/llvm-exegesis/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/tools/llvm-exegesis/CMakeLists.txt?rev=329781&r1=329780&r2=329781&view=diff
==============================================================================
--- llvm/trunk/unittests/tools/llvm-exegesis/CMakeLists.txt (original)
+++ llvm/trunk/unittests/tools/llvm-exegesis/CMakeLists.txt Wed Apr 11 00:32:43 2018
@@ -22,7 +22,6 @@ add_llvm_unittest(LLVMExegesisTests
   )
 target_link_libraries(LLVMExegesisTests PRIVATE LLVMExegesis)
 
-if(HAVE_LIBPFM)
+if(LLVM_ENABLE_LIBPFM AND HAVE_LIBPFM)
   target_link_libraries(LLVMExegesisTests PRIVATE pfm)
 endif()
-




More information about the llvm-commits mailing list