[PATCH] D74461: Remove static registration for dialects, and the "alwayslink" hack for passes

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 11 21:08:30 PST 2020


mehdi_amini created this revision.
mehdi_amini added reviewers: jpienaar, rriddle.
Herald added subscribers: llvm-commits, Joonsoo, liufengdb, aartbik, herhut, lucyrfox, mgester, arpith-jacob, csigg, nicolasvasilache, antiagainst, shauheen, burmako, bmahjour, mgorny, jholewinski.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: mravishankar.
Herald added a reviewer: antiagainst.
Herald added a reviewer: nicolasvasilache.
Herald added a project: LLVM.

In the previous state, we were relying on forcing the linker to include
all libraries in the final binary and the global initializer to self-register
every piece of the system. This change help moving away from this model, and
allow users to compose pieces more freely. The current change is only "fixing"
the dialect registration and avoiding relying on "whole link" for the passes.
The translation is still relying on the global registry, and some refactoring
is needed to make this all more convenient.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74461

Files:
  mlir/examples/toy/Ch5/CMakeLists.txt
  mlir/examples/toy/Ch5/toyc.cpp
  mlir/examples/toy/Ch6/CMakeLists.txt
  mlir/examples/toy/Ch6/toyc.cpp
  mlir/examples/toy/Ch7/CMakeLists.txt
  mlir/examples/toy/Ch7/toyc.cpp
  mlir/include/mlir/InitAllDialects.h
  mlir/include/mlir/InitAllPasses.h
  mlir/include/mlir/Quantizer/Transforms/Passes.h
  mlir/include/mlir/Transforms/Passes.h
  mlir/lib/Dialect/AffineOps/CMakeLists.txt
  mlir/lib/Dialect/AffineOps/DialectRegistration.cpp
  mlir/lib/Dialect/CMakeLists.txt
  mlir/lib/Dialect/FxpMathOps/CMakeLists.txt
  mlir/lib/Dialect/FxpMathOps/IR/DialectRegistration.cpp
  mlir/lib/Dialect/GPU/CMakeLists.txt
  mlir/lib/Dialect/GPU/IR/DialectRegistration.cpp
  mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
  mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
  mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
  mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
  mlir/lib/Dialect/Linalg/IR/LinalgRegistration.cpp
  mlir/lib/Dialect/LoopOps/DialectRegistration.cpp
  mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
  mlir/lib/Dialect/QuantOps/CMakeLists.txt
  mlir/lib/Dialect/QuantOps/IR/DialectRegistration.cpp
  mlir/lib/Dialect/SDBM/CMakeLists.txt
  mlir/lib/Dialect/SDBM/SDBMDialect.cpp
  mlir/lib/Dialect/SPIRV/CMakeLists.txt
  mlir/lib/Dialect/SPIRV/DialectRegistration.cpp
  mlir/lib/Dialect/StandardOps/DialectRegistration.cpp
  mlir/lib/Dialect/VectorOps/CMakeLists.txt
  mlir/lib/Dialect/VectorOps/DialectRegistration.cpp
  mlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp
  mlir/lib/Support/JitRunner.cpp
  mlir/lib/Transforms/OpStats.cpp
  mlir/test/Dialect/SPIRV/TestAvailability.cpp
  mlir/test/EDSC/builder-api-test.cpp
  mlir/test/SDBM/sdbm-api-test.cpp
  mlir/test/lib/IR/TestFunc.cpp
  mlir/test/lib/IR/TestMatchers.cpp
  mlir/test/lib/IR/TestSymbolUses.cpp
  mlir/test/lib/Pass/TestPassManager.cpp
  mlir/test/lib/TestDialect/TestPatterns.cpp
  mlir/test/lib/Transforms/TestAllReduceLowering.cpp
  mlir/test/lib/Transforms/TestCallGraph.cpp
  mlir/test/lib/Transforms/TestConstantFold.cpp
  mlir/test/lib/Transforms/TestGpuMemoryPromotion.cpp
  mlir/test/lib/Transforms/TestInlining.cpp
  mlir/test/lib/Transforms/TestLinalgTransforms.cpp
  mlir/test/lib/Transforms/TestLiveness.cpp
  mlir/test/lib/Transforms/TestLoopFusion.cpp
  mlir/test/lib/Transforms/TestLoopMapping.cpp
  mlir/test/lib/Transforms/TestLoopParametricTiling.cpp
  mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
  mlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
  mlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp
  mlir/test/lib/Transforms/TestOpaqueLoc.cpp
  mlir/test/lib/Transforms/TestParallelismDetection.cpp
  mlir/test/lib/Transforms/TestVectorToLoopsConversion.cpp
  mlir/test/lib/Transforms/TestVectorTransforms.cpp
  mlir/test/lib/Transforms/TestVectorizationUtils.cpp
  mlir/tools/mlir-cpu-runner/CMakeLists.txt
  mlir/tools/mlir-opt/CMakeLists.txt
  mlir/tools/mlir-opt/mlir-opt.cpp
  mlir/tools/mlir-translate/CMakeLists.txt
  mlir/tools/mlir-translate/mlir-translate.cpp
  mlir/unittests/Dialect/QuantOps/QuantizationUtilsTest.cpp
  mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
  mlir/unittests/SDBM/SDBMTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74461.244062.patch
Type: text/x-patch
Size: 60250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200212/65fffb4e/attachment.bin>


More information about the llvm-commits mailing list