diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -139,6 +139,16 @@ mlir_configure_python_dev_packages() endif() +# For upstream, we accumulate all libraries into the MLIR_CAPI_LIBRARIES +# property via a custom wrapper function. This is then used to create an +# aggregate below. +set_property(GLOBAL APPEND PROPERTY MLIR_CAPI_LIBRARIES) +function(add_mlir_upstream_c_api_library name) + add_mlir_public_c_api_library(${name} ${ARGN}) + set_property(GLOBAL APPEND PROPERTY MLIR_CAPI_LIBRARIES ${name}) +endfunction() + + include_directories( "include") include_directories( ${MLIR_INCLUDE_DIR}) diff --git a/mlir/include/mlir-c/AffineExpr.h b/mlir/core/include/mlir-c/AffineExpr.h rename from mlir/include/mlir-c/AffineExpr.h rename to mlir/core/include/mlir-c/AffineExpr.h diff --git a/mlir/include/mlir-c/AffineMap.h b/mlir/core/include/mlir-c/AffineMap.h rename from mlir/include/mlir-c/AffineMap.h rename to mlir/core/include/mlir-c/AffineMap.h diff --git a/mlir/include/mlir-c/BuiltinAttributes.h b/mlir/core/include/mlir-c/BuiltinAttributes.h rename from mlir/include/mlir-c/BuiltinAttributes.h rename to mlir/core/include/mlir-c/BuiltinAttributes.h diff --git a/mlir/include/mlir-c/BuiltinTypes.h b/mlir/core/include/mlir-c/BuiltinTypes.h rename from mlir/include/mlir-c/BuiltinTypes.h rename to mlir/core/include/mlir-c/BuiltinTypes.h diff --git a/mlir/include/mlir-c/Debug.h b/mlir/core/include/mlir-c/Debug.h rename from mlir/include/mlir-c/Debug.h rename to mlir/core/include/mlir-c/Debug.h diff --git a/mlir/include/mlir-c/Diagnostics.h b/mlir/core/include/mlir-c/Diagnostics.h rename from mlir/include/mlir-c/Diagnostics.h rename to mlir/core/include/mlir-c/Diagnostics.h diff --git a/mlir/include/mlir-c/IR.h b/mlir/core/include/mlir-c/IR.h rename from mlir/include/mlir-c/IR.h rename to mlir/core/include/mlir-c/IR.h diff --git a/mlir/include/mlir-c/IntegerSet.h b/mlir/core/include/mlir-c/IntegerSet.h rename from mlir/include/mlir-c/IntegerSet.h rename to mlir/core/include/mlir-c/IntegerSet.h diff --git a/mlir/include/mlir-c/Interfaces.h b/mlir/core/include/mlir-c/Interfaces.h rename from mlir/include/mlir-c/Interfaces.h rename to mlir/core/include/mlir-c/Interfaces.h diff --git a/mlir/include/mlir-c/Pass.h b/mlir/core/include/mlir-c/Pass.h rename from mlir/include/mlir-c/Pass.h rename to mlir/core/include/mlir-c/Pass.h diff --git a/mlir/include/mlir-c/Registration.h b/mlir/core/include/mlir-c/Registration.h rename from mlir/include/mlir-c/Registration.h rename to mlir/core/include/mlir-c/Registration.h diff --git a/mlir/include/mlir-c/Support.h b/mlir/core/include/mlir-c/Support.h rename from mlir/include/mlir-c/Support.h rename to mlir/core/include/mlir-c/Support.h diff --git a/mlir/include/mlir/CAPI/AffineExpr.h b/mlir/core/include/mlir/CAPI/AffineExpr.h rename from mlir/include/mlir/CAPI/AffineExpr.h rename to mlir/core/include/mlir/CAPI/AffineExpr.h diff --git a/mlir/include/mlir/CAPI/AffineMap.h b/mlir/core/include/mlir/CAPI/AffineMap.h rename from mlir/include/mlir/CAPI/AffineMap.h rename to mlir/core/include/mlir/CAPI/AffineMap.h diff --git a/mlir/include/mlir/CAPI/Diagnostics.h b/mlir/core/include/mlir/CAPI/Diagnostics.h rename from mlir/include/mlir/CAPI/Diagnostics.h rename to mlir/core/include/mlir/CAPI/Diagnostics.h diff --git a/mlir/include/mlir/CAPI/IR.h b/mlir/core/include/mlir/CAPI/IR.h rename from mlir/include/mlir/CAPI/IR.h rename to mlir/core/include/mlir/CAPI/IR.h diff --git a/mlir/include/mlir/CAPI/IntegerSet.h b/mlir/core/include/mlir/CAPI/IntegerSet.h rename from mlir/include/mlir/CAPI/IntegerSet.h rename to mlir/core/include/mlir/CAPI/IntegerSet.h diff --git a/mlir/include/mlir/CAPI/Interfaces.h b/mlir/core/include/mlir/CAPI/Interfaces.h rename from mlir/include/mlir/CAPI/Interfaces.h rename to mlir/core/include/mlir/CAPI/Interfaces.h diff --git a/mlir/include/mlir/CAPI/Pass.h b/mlir/core/include/mlir/CAPI/Pass.h rename from mlir/include/mlir/CAPI/Pass.h rename to mlir/core/include/mlir/CAPI/Pass.h diff --git a/mlir/include/mlir/CAPI/Registration.h b/mlir/core/include/mlir/CAPI/Registration.h rename from mlir/include/mlir/CAPI/Registration.h rename to mlir/core/include/mlir/CAPI/Registration.h diff --git a/mlir/include/mlir/CAPI/Support.h b/mlir/core/include/mlir/CAPI/Support.h rename from mlir/include/mlir/CAPI/Support.h rename to mlir/core/include/mlir/CAPI/Support.h diff --git a/mlir/include/mlir/CAPI/Utils.h b/mlir/core/include/mlir/CAPI/Utils.h rename from mlir/include/mlir/CAPI/Utils.h rename to mlir/core/include/mlir/CAPI/Utils.h diff --git a/mlir/include/mlir/CAPI/Wrap.h b/mlir/core/include/mlir/CAPI/Wrap.h rename from mlir/include/mlir/CAPI/Wrap.h rename to mlir/core/include/mlir/CAPI/Wrap.h diff --git a/mlir/core/lib/CAPI/CMakeLists.txt b/mlir/core/lib/CAPI/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/mlir/core/lib/CAPI/CMakeLists.txt @@ -0,0 +1,4 @@ +add_subdirectory(Debug) +add_subdirectory(Interfaces) +add_subdirectory(IR) +add_subdirectory(Registration) diff --git a/mlir/lib/CAPI/Debug/CMakeLists.txt b/mlir/core/lib/CAPI/Debug/CMakeLists.txt rename from mlir/lib/CAPI/Debug/CMakeLists.txt rename to mlir/core/lib/CAPI/Debug/CMakeLists.txt diff --git a/mlir/lib/CAPI/Debug/Debug.cpp b/mlir/core/lib/CAPI/Debug/Debug.cpp rename from mlir/lib/CAPI/Debug/Debug.cpp rename to mlir/core/lib/CAPI/Debug/Debug.cpp diff --git a/mlir/lib/CAPI/IR/AffineExpr.cpp b/mlir/core/lib/CAPI/IR/AffineExpr.cpp rename from mlir/lib/CAPI/IR/AffineExpr.cpp rename to mlir/core/lib/CAPI/IR/AffineExpr.cpp diff --git a/mlir/lib/CAPI/IR/AffineMap.cpp b/mlir/core/lib/CAPI/IR/AffineMap.cpp rename from mlir/lib/CAPI/IR/AffineMap.cpp rename to mlir/core/lib/CAPI/IR/AffineMap.cpp diff --git a/mlir/lib/CAPI/IR/BuiltinAttributes.cpp b/mlir/core/lib/CAPI/IR/BuiltinAttributes.cpp rename from mlir/lib/CAPI/IR/BuiltinAttributes.cpp rename to mlir/core/lib/CAPI/IR/BuiltinAttributes.cpp diff --git a/mlir/lib/CAPI/IR/BuiltinTypes.cpp b/mlir/core/lib/CAPI/IR/BuiltinTypes.cpp rename from mlir/lib/CAPI/IR/BuiltinTypes.cpp rename to mlir/core/lib/CAPI/IR/BuiltinTypes.cpp diff --git a/mlir/lib/CAPI/IR/CMakeLists.txt b/mlir/core/lib/CAPI/IR/CMakeLists.txt rename from mlir/lib/CAPI/IR/CMakeLists.txt rename to mlir/core/lib/CAPI/IR/CMakeLists.txt diff --git a/mlir/lib/CAPI/IR/Diagnostics.cpp b/mlir/core/lib/CAPI/IR/Diagnostics.cpp rename from mlir/lib/CAPI/IR/Diagnostics.cpp rename to mlir/core/lib/CAPI/IR/Diagnostics.cpp diff --git a/mlir/lib/CAPI/IR/DialectHandle.cpp b/mlir/core/lib/CAPI/IR/DialectHandle.cpp rename from mlir/lib/CAPI/IR/DialectHandle.cpp rename to mlir/core/lib/CAPI/IR/DialectHandle.cpp diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/core/lib/CAPI/IR/IR.cpp rename from mlir/lib/CAPI/IR/IR.cpp rename to mlir/core/lib/CAPI/IR/IR.cpp diff --git a/mlir/lib/CAPI/IR/IntegerSet.cpp b/mlir/core/lib/CAPI/IR/IntegerSet.cpp rename from mlir/lib/CAPI/IR/IntegerSet.cpp rename to mlir/core/lib/CAPI/IR/IntegerSet.cpp diff --git a/mlir/lib/CAPI/IR/Pass.cpp b/mlir/core/lib/CAPI/IR/Pass.cpp rename from mlir/lib/CAPI/IR/Pass.cpp rename to mlir/core/lib/CAPI/IR/Pass.cpp diff --git a/mlir/lib/CAPI/IR/Support.cpp b/mlir/core/lib/CAPI/IR/Support.cpp rename from mlir/lib/CAPI/IR/Support.cpp rename to mlir/core/lib/CAPI/IR/Support.cpp diff --git a/mlir/lib/CAPI/Interfaces/CMakeLists.txt b/mlir/core/lib/CAPI/Interfaces/CMakeLists.txt rename from mlir/lib/CAPI/Interfaces/CMakeLists.txt rename to mlir/core/lib/CAPI/Interfaces/CMakeLists.txt diff --git a/mlir/lib/CAPI/Interfaces/Interfaces.cpp b/mlir/core/lib/CAPI/Interfaces/Interfaces.cpp rename from mlir/lib/CAPI/Interfaces/Interfaces.cpp rename to mlir/core/lib/CAPI/Interfaces/Interfaces.cpp diff --git a/mlir/core/lib/CAPI/Registration/CMakeLists.txt b/mlir/core/lib/CAPI/Registration/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/mlir/core/lib/CAPI/Registration/CMakeLists.txt @@ -0,0 +1,10 @@ +add_mlir_upstream_c_api_library(MLIRCAPIRegistration + Registration.cpp + + LINK_LIBS PUBLIC + MLIRCAPIIR + MLIRLLVMToLLVMIRTranslation + MLIRAllDialects + MLIRAllConversions + MLIRAllTranslations + ) diff --git a/mlir/lib/CAPI/Registration/Registration.cpp b/mlir/core/lib/CAPI/Registration/Registration.cpp rename from mlir/lib/CAPI/Registration/Registration.cpp rename to mlir/core/lib/CAPI/Registration/Registration.cpp diff --git a/mlir/core/lib/CMakeLists.txt b/mlir/core/lib/CMakeLists.txt --- a/mlir/core/lib/CMakeLists.txt +++ b/mlir/core/lib/CMakeLists.txt @@ -1,2 +1,3 @@ +add_subdirectory(CAPI) add_subdirectory(Interfaces) add_subdirectory(IR) diff --git a/mlir/lib/CAPI/CMakeLists.txt b/mlir/lib/CAPI/CMakeLists.txt --- a/mlir/lib/CAPI/CMakeLists.txt +++ b/mlir/lib/CAPI/CMakeLists.txt @@ -1,18 +1,6 @@ -# For upstream, we accumulate all libraries into the MLIR_CAPI_LIBRARIES -# property via a custom wrapper function. This is then used to create an -# aggregate below. -set_property(GLOBAL APPEND PROPERTY MLIR_CAPI_LIBRARIES) -function(add_mlir_upstream_c_api_library name) - add_mlir_public_c_api_library(${name} ${ARGN}) - set_property(GLOBAL APPEND PROPERTY MLIR_CAPI_LIBRARIES ${name}) -endfunction() -add_subdirectory(Debug) add_subdirectory(Dialect) add_subdirectory(Conversion) -add_subdirectory(Interfaces) -add_subdirectory(IR) -add_subdirectory(Registration) add_subdirectory(Transforms) # Only enable the ExecutionEngine if the native target is configured in. diff --git a/mlir/lib/CAPI/Registration/CMakeLists.txt b/mlir/lib/CAPI/Registration/CMakeLists.txt deleted file mode 100644 --- a/mlir/lib/CAPI/Registration/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Dialect registration. -get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) -get_property(translation_libs GLOBAL PROPERTY MLIR_TRANSLATION_LIBS) -get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) -add_mlir_upstream_c_api_library(MLIRCAPIRegistration - Registration.cpp - - LINK_LIBS PUBLIC - MLIRCAPIIR - MLIRLLVMToLLVMIRTranslation - ${dialect_libs} - ${translation_libs} - ${conversion_libs} -) diff --git a/mlir/lib/CMakeLists.txt b/mlir/lib/CMakeLists.txt --- a/mlir/lib/CMakeLists.txt +++ b/mlir/lib/CMakeLists.txt @@ -14,6 +14,19 @@ add_subdirectory(Tools) add_subdirectory(Transforms) +get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) +add_mlir_library(MLIRAllDialects empty.cpp) +target_link_libraries(MLIRAllDialects INTERFACE ${dialect_libs}) + +get_property(translation_libs GLOBAL PROPERTY MLIR_TRANSLATION_LIBS) +add_mlir_library(MLIRAllTranslations empty.cpp) +target_link_libraries(MLIRAllDialects INTERFACE ${translation_libs}) + +get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) +add_mlir_library(MLIRAllConversions empty.cpp) +target_link_libraries(MLIRAllDialects INTERFACE ${conversion_libs}) + + # Only enable the ExecutionEngine if the native target is configured in. if(TARGET ${LLVM_NATIVE_ARCH}) add_subdirectory(ExecutionEngine) diff --git a/mlir/lib/empty.cpp b/mlir/lib/empty.cpp new file mode 100644