llvm-project/mlir
Stephen Neuendorffer e9b87f43bd [RFC] Factor out repetitive cmake patterns for llvm-style projects
New projects (particularly out of tree) have a tendency to hijack the existing
llvm configuration options and build targets (add_llvm_library,
add_llvm_tool).  This can lead to some confusion.

1) When querying a configuration variable, do we care about how LLVM was
configured, or how these options were configured for the out of tree project?
2) LLVM has lots of defaults, which are easy to miss
(e.g. LLVM_BUILD_TOOLS=ON).  These options all need to be duplicated in the
CMakeLists.txt for the project.

In addition, with LLVM Incubators coming online, we need better ways for these
incubators to do things the "LLVM way" without alot of futzing.  Ideally, this
would happen in a way that eases importing into the LLVM monorepo when
projects mature.

This patch creates some generic infrastructure in llvm/cmake/modules and
refactors MLIR to use this infrastructure.  This should expand to include
add_xxx_library, which is by far the most complicated bit of building a
project correctly, since it has to deal with lots of shared library
configuration bits.  (MLIR currently hijacks the LLVM infrastructure for
building libMLIR.so, so this needs to get refactored anyway.)

Differential Revision: https://reviews.llvm.org/D85140
2020-10-03 17:12:35 -07:00
..
cmake/modules [RFC] Factor out repetitive cmake patterns for llvm-style projects 2020-10-03 17:12:35 -07:00
docs [MLIR] Updates around MemRef Normalization 2020-10-01 21:11:41 -07:00
examples [RFC] Factor out repetitive cmake patterns for llvm-style projects 2020-10-03 17:12:35 -07:00
include Add indented raw_ostream class 2020-10-03 15:17:38 -07:00
integration_test [mlir][Linalg] Tile sizes for Conv ops vectorization added as pass arguments 2020-09-30 11:31:28 +00:00
lib Add indented raw_ostream class 2020-10-03 15:17:38 -07:00
test [RFC] Factor out repetitive cmake patterns for llvm-style projects 2020-10-03 17:12:35 -07:00
tools [RFC] Factor out repetitive cmake patterns for llvm-style projects 2020-10-03 17:12:35 -07:00
unittests Add indented raw_ostream class 2020-10-03 15:17:38 -07:00
utils Add GDB prettyprinters for a few more MLIR types. 2020-09-30 21:22:47 +02:00
.clang-format
.clang-tidy Fix MLIR clang-tidy: when tweaking it does not inherit from the parent 2020-03-07 17:44:21 +00:00
CMakeLists.txt [RFC] Factor out repetitive cmake patterns for llvm-style projects 2020-10-03 17:12:35 -07:00
LICENSE.TXT Add the Apache2 with LLVM exceptions license to MLIR 2019-12-24 00:58:06 -08:00
README.md mlir README.md: Fix the syntax 2019-12-24 13:31:07 +01:00

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.