[all-commits] [llvm/llvm-project] 7c221a: [mlir][Symbol] Change Symbol from a Trait into an ...
River Riddle via All-commits
all-commits at lists.llvm.org
Mon Apr 27 13:06:26 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 7c221a7d4fbce512656d9df202972230eb088f37
https://github.com/llvm/llvm-project/commit/7c221a7d4fbce512656d9df202972230eb088f37
Author: River Riddle <riddleriver at gmail.com>
Date: 2020-04-27 (Mon, 27 Apr 2020)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M mlir/include/mlir/Dialect/GPU/GPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/Function.h
M mlir/include/mlir/IR/Module.h
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/IR/OpDefinition.h
A mlir/include/mlir/IR/SymbolInterfaces.td
M mlir/include/mlir/IR/SymbolTable.h
M mlir/include/mlir/TableGen/OpInterfaces.h
M mlir/lib/IR/CMakeLists.txt
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/TableGen/OpInterfaces.cpp
M mlir/lib/Transforms/Inliner.cpp
M mlir/lib/Transforms/SymbolDCE.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/IR/TestSymbolUses.cpp
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[mlir][Symbol] Change Symbol from a Trait into an OpInterface.
This provides a much cleaner interface into Symbols, and allows for users to start injecting op-specific information. For example, derived op can now inject when a symbol can be discarded if use_empty. This would let us drop unused external functions, which generally have public visibility.
This revision also adds a new `extraTraitClassDeclaration` field to ODS OpInterface to allow for injecting declarations into the trait class that gets attached to the operations.
Differential Revision: https://reviews.llvm.org/D78522
Commit: a90151d67e23c8a2c8362c95b44340e19f955a51
https://github.com/llvm/llvm-project/commit/a90151d67e23c8a2c8362c95b44340e19f955a51
Author: River Riddle <riddleriver at gmail.com>
Date: 2020-04-27 (Mon, 27 Apr 2020)
Changed paths:
M mlir/include/mlir/IR/SymbolTable.h
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/Transforms/Inliner.cpp
M mlir/lib/Transforms/SCCP.cpp
A mlir/test/Transforms/sccp-callgraph.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][SCCP] Add support for propagating across symbol based calls
This revision adds support for propagating constants across symbol-based callgraph edges. It uses the existing Call/CallableOpInterfaces to detect the dataflow edges, and propagates constants through arguments and out of returns.
Differential Revision: https://reviews.llvm.org/D78592
Compare: https://github.com/llvm/llvm-project/compare/21acc0612a24...a90151d67e23
More information about the All-commits
mailing list