[BUILD] When set, use MLIR_DIR for finding both MLIR and LLVM (#755)
This commit is contained in:
125
CMakeLists.txt
125
CMakeLists.txt
@@ -49,7 +49,8 @@ endif()
|
|||||||
##########
|
##########
|
||||||
# LLVM
|
# LLVM
|
||||||
##########
|
##########
|
||||||
if("${LLVM_LIBRARY_DIR}" STREQUAL "")
|
if (NOT MLIR_DIR)
|
||||||
|
if(NOT LLVM_LIBRARY_DIR)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
find_package(LLVM 13 REQUIRED COMPONENTS nvptx amdgpu)
|
find_package(LLVM 13 REQUIRED COMPONENTS nvptx amdgpu)
|
||||||
|
|
||||||
@@ -68,66 +69,67 @@ if("${LLVM_LIBRARY_DIR}" STREQUAL "")
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
|
||||||
endif()
|
endif()
|
||||||
# sometimes we don't want to use llvm-config, since it may have been downloaded for some specific linux distros
|
# sometimes we don't want to use llvm-config, since it may have been downloaded for some specific linux distros
|
||||||
else()
|
else()
|
||||||
set(LLVM_LDFLAGS "-L${LLVM_LIBRARY_DIR}")
|
set(LLVM_LDFLAGS "-L${LLVM_LIBRARY_DIR}")
|
||||||
set(LLVM_LIBRARIES
|
set(LLVM_LIBRARIES
|
||||||
libLLVMNVPTXCodeGen.a
|
libLLVMNVPTXCodeGen.a
|
||||||
libLLVMNVPTXDesc.a
|
libLLVMNVPTXDesc.a
|
||||||
libLLVMNVPTXInfo.a
|
libLLVMNVPTXInfo.a
|
||||||
libLLVMAMDGPUDisassembler.a
|
libLLVMAMDGPUDisassembler.a
|
||||||
libLLVMMCDisassembler.a
|
libLLVMMCDisassembler.a
|
||||||
libLLVMAMDGPUCodeGen.a
|
libLLVMAMDGPUCodeGen.a
|
||||||
libLLVMMIRParser.a
|
libLLVMMIRParser.a
|
||||||
libLLVMGlobalISel.a
|
libLLVMGlobalISel.a
|
||||||
libLLVMSelectionDAG.a
|
libLLVMSelectionDAG.a
|
||||||
libLLVMipo.a
|
libLLVMipo.a
|
||||||
libLLVMInstrumentation.a
|
libLLVMInstrumentation.a
|
||||||
libLLVMVectorize.a
|
libLLVMVectorize.a
|
||||||
libLLVMLinker.a
|
libLLVMLinker.a
|
||||||
libLLVMIRReader.a
|
libLLVMIRReader.a
|
||||||
libLLVMAsmParser.a
|
libLLVMAsmParser.a
|
||||||
libLLVMFrontendOpenMP.a
|
libLLVMFrontendOpenMP.a
|
||||||
libLLVMAsmPrinter.a
|
libLLVMAsmPrinter.a
|
||||||
libLLVMDebugInfoDWARF.a
|
libLLVMDebugInfoDWARF.a
|
||||||
libLLVMCodeGen.a
|
libLLVMCodeGen.a
|
||||||
libLLVMTarget.a
|
libLLVMTarget.a
|
||||||
libLLVMScalarOpts.a
|
libLLVMScalarOpts.a
|
||||||
libLLVMInstCombine.a
|
libLLVMInstCombine.a
|
||||||
libLLVMAggressiveInstCombine.a
|
libLLVMAggressiveInstCombine.a
|
||||||
libLLVMTransformUtils.a
|
libLLVMTransformUtils.a
|
||||||
libLLVMBitWriter.a
|
libLLVMBitWriter.a
|
||||||
libLLVMAnalysis.a
|
libLLVMAnalysis.a
|
||||||
libLLVMProfileData.a
|
libLLVMProfileData.a
|
||||||
libLLVMObject.a
|
libLLVMObject.a
|
||||||
libLLVMTextAPI.a
|
libLLVMTextAPI.a
|
||||||
libLLVMBitReader.a
|
libLLVMBitReader.a
|
||||||
libLLVMAMDGPUAsmParser.a
|
libLLVMAMDGPUAsmParser.a
|
||||||
libLLVMMCParser.a
|
libLLVMMCParser.a
|
||||||
libLLVMAMDGPUDesc.a
|
libLLVMAMDGPUDesc.a
|
||||||
libLLVMAMDGPUUtils.a
|
libLLVMAMDGPUUtils.a
|
||||||
libLLVMMC.a
|
libLLVMMC.a
|
||||||
libLLVMDebugInfoCodeView.a
|
libLLVMDebugInfoCodeView.a
|
||||||
libLLVMDebugInfoMSF.a
|
libLLVMDebugInfoMSF.a
|
||||||
libLLVMCore.a
|
libLLVMCore.a
|
||||||
libLLVMRemarks.a
|
libLLVMRemarks.a
|
||||||
libLLVMBitstreamReader.a
|
libLLVMBitstreamReader.a
|
||||||
libLLVMBinaryFormat.a
|
libLLVMBinaryFormat.a
|
||||||
libLLVMAMDGPUInfo.a
|
libLLVMAMDGPUInfo.a
|
||||||
libLLVMSupport.a
|
libLLVMSupport.a
|
||||||
libLLVMDemangle.a
|
libLLVMDemangle.a
|
||||||
libLLVMPasses.a
|
libLLVMPasses.a
|
||||||
libLLVMAnalysis.a
|
libLLVMAnalysis.a
|
||||||
libLLVMTransformUtils.a
|
libLLVMTransformUtils.a
|
||||||
libLLVMScalarOpts.a
|
libLLVMScalarOpts.a
|
||||||
libLLVMTransformUtils.a
|
libLLVMTransformUtils.a
|
||||||
libLLVMipo.a
|
libLLVMipo.a
|
||||||
libLLVMObjCARCOpts.a
|
libLLVMObjCARCOpts.a
|
||||||
libLLVMCoroutines.a
|
libLLVMCoroutines.a
|
||||||
libLLVMAnalysis.a
|
libLLVMAnalysis.a
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
set (MLIR_DIR ${LLVM_LIBRARY_DIR}/cmake/mlir)
|
||||||
endif()
|
endif()
|
||||||
include_directories(${LLVM_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
# Python module
|
# Python module
|
||||||
if(TRITON_BUILD_PYTHON_MODULE)
|
if(TRITON_BUILD_PYTHON_MODULE)
|
||||||
@@ -161,10 +163,10 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
# MLIR
|
# MLIR
|
||||||
find_package(MLIR REQUIRED CONFIG PATHS ${LLVM_LIBRARY_DIR}/cmake/mlir)
|
find_package(MLIR REQUIRED CONFIG PATHS ${MLIR_DIR})
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_LIBRARY_DIR}/cmake/llvm)
|
list(APPEND CMAKE_MODULE_PATH "${MLIR_CMAKE_DIR}")
|
||||||
list(APPEND CMAKE_MODULE_PATH ${LLVM_LIBRARY_DIR}/cmake/mlir)
|
list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
|
||||||
|
|
||||||
include(TableGen) # required by AddMLIR
|
include(TableGen) # required by AddMLIR
|
||||||
include(AddLLVM)
|
include(AddLLVM)
|
||||||
@@ -172,6 +174,7 @@ include(AddMLIR)
|
|||||||
# include(HandleLLVMOptions) # human-friendly error message
|
# include(HandleLLVMOptions) # human-friendly error message
|
||||||
|
|
||||||
include_directories(${MLIR_INCLUDE_DIRS})
|
include_directories(${MLIR_INCLUDE_DIRS})
|
||||||
|
include_directories(${LLVM_INCLUDE_DIRS})
|
||||||
include_directories(${PROJECT_SOURCE_DIR}/include)
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
||||||
include_directories(${PROJECT_BINARY_DIR}/include) # Tablegen'd files
|
include_directories(${PROJECT_BINARY_DIR}/include) # Tablegen'd files
|
||||||
# link_directories(${LLVM_LIBRARY_DIR})
|
# link_directories(${LLVM_LIBRARY_DIR})
|
||||||
|
Reference in New Issue
Block a user