2019-04-30 03:11:58 +08:00
|
|
|
set(LLVM_OPTIONAL_SOURCES
|
|
|
|
null.cpp
|
|
|
|
)
|
|
|
|
|
|
|
|
set(LIB_LIBS
|
|
|
|
MLIRAnalysis
|
2020-02-09 11:27:54 +08:00
|
|
|
MLIRIR
|
2019-04-30 03:11:58 +08:00
|
|
|
MLIRLLVMIR
|
2020-02-12 16:41:40 +08:00
|
|
|
MLIROptLib
|
2019-04-30 03:11:58 +08:00
|
|
|
MLIRParser
|
|
|
|
MLIRPass
|
|
|
|
MLIRTransforms
|
|
|
|
MLIRSupport
|
2020-03-01 03:51:04 +08:00
|
|
|
)
|
2020-02-12 16:41:40 +08:00
|
|
|
add_llvm_library(MLIRMlirOptMain
|
2019-04-30 03:11:58 +08:00
|
|
|
mlir-opt.cpp
|
2020-03-01 03:51:04 +08:00
|
|
|
)
|
|
|
|
target_link_libraries(MLIRMlirOptMain
|
2020-03-06 03:49:42 +08:00
|
|
|
PUBLIC
|
[MLIR] Fixes for shared library dependencies.
Summary:
This patch is a step towards enabling BUILD_SHARED_LIBS=on, which
builds most libraries as DLLs instead of statically linked libraries.
The main effect of this is that incremental build times are greatly
reduced, since usually only one library need be relinked in response
to isolated code changes.
The bulk of this patch is fixing incorrect usage of cmake, where library
dependencies are listed under add_dependencies rather than under
target_link_libraries or under the LINK_LIBS tag. Correct usage should be
like this:
add_dependencies(MLIRfoo MLIRfooIncGen)
target_link_libraries(MLIRfoo MLIRlib1 MLIRlib2)
A separate issue is that in cmake, dependencies between static libraries
are automatically included in dependencies. In the above example, if MLIBlib1
depends on MLIRlib2, then it is sufficient to have only MLIRlib1 in the
target_link_libraries. When compiling with shared libraries, it is necessary
to have both MLIRlib1 and MLIRlib2 specified if MLIRfoo uses symbols from both.
Reviewers: mravishankar, antiagainst, nicolasvasilache, vchuravy, inouehrs, mehdi_amini, jdoerfert
Reviewed By: nicolasvasilache, mehdi_amini
Subscribers: Joonsoo, merge_guards_bot, jholewinski, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73653
2020-01-01 09:23:01 +08:00
|
|
|
${LIB_LIBS}
|
|
|
|
)
|
2019-04-30 03:11:58 +08:00
|
|
|
|
2020-02-27 03:50:03 +08:00
|
|
|
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
|
2020-02-27 08:31:14 +08:00
|
|
|
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
|
2020-02-12 17:03:40 +08:00
|
|
|
set(LIBS
|
2020-02-27 03:50:03 +08:00
|
|
|
${dialect_libs}
|
2020-02-27 08:31:14 +08:00
|
|
|
${conversion_libs}
|
2020-02-19 20:39:57 +08:00
|
|
|
MLIRLoopOpsTransforms
|
2020-02-06 11:02:23 +08:00
|
|
|
MLIRLoopAnalysis
|
2019-11-22 07:19:52 +08:00
|
|
|
MLIRAnalysis
|
[MLIR] Fixes for shared library dependencies.
Summary:
This patch is a step towards enabling BUILD_SHARED_LIBS=on, which
builds most libraries as DLLs instead of statically linked libraries.
The main effect of this is that incremental build times are greatly
reduced, since usually only one library need be relinked in response
to isolated code changes.
The bulk of this patch is fixing incorrect usage of cmake, where library
dependencies are listed under add_dependencies rather than under
target_link_libraries or under the LINK_LIBS tag. Correct usage should be
like this:
add_dependencies(MLIRfoo MLIRfooIncGen)
target_link_libraries(MLIRfoo MLIRlib1 MLIRlib2)
A separate issue is that in cmake, dependencies between static libraries
are automatically included in dependencies. In the above example, if MLIBlib1
depends on MLIRlib2, then it is sufficient to have only MLIRlib1 in the
target_link_libraries. When compiling with shared libraries, it is necessary
to have both MLIRlib1 and MLIRlib2 specified if MLIRfoo uses symbols from both.
Reviewers: mravishankar, antiagainst, nicolasvasilache, vchuravy, inouehrs, mehdi_amini, jdoerfert
Reviewed By: nicolasvasilache, mehdi_amini
Subscribers: Joonsoo, merge_guards_bot, jholewinski, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73653
2020-01-01 09:23:01 +08:00
|
|
|
MLIRDialect
|
2019-03-30 13:10:12 +08:00
|
|
|
MLIREDSC
|
2020-02-12 16:41:40 +08:00
|
|
|
MLIROptLib
|
2019-03-30 13:10:12 +08:00
|
|
|
MLIRParser
|
|
|
|
MLIRPass
|
[MLIR] Fixes for shared library dependencies.
Summary:
This patch is a step towards enabling BUILD_SHARED_LIBS=on, which
builds most libraries as DLLs instead of statically linked libraries.
The main effect of this is that incremental build times are greatly
reduced, since usually only one library need be relinked in response
to isolated code changes.
The bulk of this patch is fixing incorrect usage of cmake, where library
dependencies are listed under add_dependencies rather than under
target_link_libraries or under the LINK_LIBS tag. Correct usage should be
like this:
add_dependencies(MLIRfoo MLIRfooIncGen)
target_link_libraries(MLIRfoo MLIRlib1 MLIRlib2)
A separate issue is that in cmake, dependencies between static libraries
are automatically included in dependencies. In the above example, if MLIBlib1
depends on MLIRlib2, then it is sufficient to have only MLIRlib1 in the
target_link_libraries. When compiling with shared libraries, it is necessary
to have both MLIRlib1 and MLIRlib2 specified if MLIRfoo uses symbols from both.
Reviewers: mravishankar, antiagainst, nicolasvasilache, vchuravy, inouehrs, mehdi_amini, jdoerfert
Reviewed By: nicolasvasilache, mehdi_amini
Subscribers: Joonsoo, merge_guards_bot, jholewinski, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73653
2020-01-01 09:23:01 +08:00
|
|
|
MLIRQuantizerFxpMathConfig
|
|
|
|
MLIRQuantizerSupport
|
2019-05-21 09:27:38 +08:00
|
|
|
MLIRQuantizerTransforms
|
2019-05-26 20:43:20 +08:00
|
|
|
MLIRSPIRV
|
2019-12-28 05:24:33 +08:00
|
|
|
MLIRSPIRVTestPasses
|
2019-10-09 07:42:38 +08:00
|
|
|
MLIRSPIRVTransforms
|
2019-03-30 13:10:12 +08:00
|
|
|
MLIRTransforms
|
[MLIR] Fixes for shared library dependencies.
Summary:
This patch is a step towards enabling BUILD_SHARED_LIBS=on, which
builds most libraries as DLLs instead of statically linked libraries.
The main effect of this is that incremental build times are greatly
reduced, since usually only one library need be relinked in response
to isolated code changes.
The bulk of this patch is fixing incorrect usage of cmake, where library
dependencies are listed under add_dependencies rather than under
target_link_libraries or under the LINK_LIBS tag. Correct usage should be
like this:
add_dependencies(MLIRfoo MLIRfooIncGen)
target_link_libraries(MLIRfoo MLIRlib1 MLIRlib2)
A separate issue is that in cmake, dependencies between static libraries
are automatically included in dependencies. In the above example, if MLIBlib1
depends on MLIRlib2, then it is sufficient to have only MLIRlib1 in the
target_link_libraries. When compiling with shared libraries, it is necessary
to have both MLIRlib1 and MLIRlib2 specified if MLIRfoo uses symbols from both.
Reviewers: mravishankar, antiagainst, nicolasvasilache, vchuravy, inouehrs, mehdi_amini, jdoerfert
Reviewed By: nicolasvasilache, mehdi_amini
Subscribers: Joonsoo, merge_guards_bot, jholewinski, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73653
2020-01-01 09:23:01 +08:00
|
|
|
MLIRTransformUtils
|
2019-06-25 05:35:21 +08:00
|
|
|
MLIRTestDialect
|
2019-10-09 01:21:26 +08:00
|
|
|
MLIRTestIR
|
2019-09-09 10:57:25 +08:00
|
|
|
MLIRTestPass
|
2019-06-25 05:35:21 +08:00
|
|
|
MLIRTestTransforms
|
2019-03-30 13:10:12 +08:00
|
|
|
MLIRSupport
|
2020-02-06 01:06:36 +08:00
|
|
|
MLIRIR
|
2020-02-12 16:41:40 +08:00
|
|
|
MLIROptLib
|
2020-02-06 01:06:36 +08:00
|
|
|
LLVMSupport
|
|
|
|
LLVMCore
|
|
|
|
LLVMAsmParser
|
|
|
|
)
|
|
|
|
|
2019-11-20 13:04:45 +08:00
|
|
|
add_llvm_tool(mlir-opt
|
2019-04-30 03:11:58 +08:00
|
|
|
mlir-opt.cpp
|
2019-03-30 13:10:12 +08:00
|
|
|
)
|
2020-02-12 18:06:50 +08:00
|
|
|
# Manually expand the target library, since our MLIR libraries
|
|
|
|
# aren't plugged into the LLVM dependency tracking. If we don't
|
|
|
|
# do this then we can't insert the CodeGen library after ourselves
|
|
|
|
llvm_expand_pseudo_components(TARGET_LIBS AllTargetsCodeGens)
|
|
|
|
# Prepend LLVM in front of every target, this is how the library
|
|
|
|
# are named with CMake
|
|
|
|
SET(targets_to_link)
|
|
|
|
FOREACH(t ${TARGET_LIBS})
|
|
|
|
LIST(APPEND targets_to_link "LLVM${t}")
|
|
|
|
ENDFOREACH(t)
|
|
|
|
|
2019-04-02 01:17:45 +08:00
|
|
|
llvm_update_compile_flags(mlir-opt)
|
2020-02-12 18:06:50 +08:00
|
|
|
target_link_libraries(mlir-opt PRIVATE ${LIBS} ${targets_to_link})
|