[Mlir-commits] [mlir] [mlir] Speed up FuncToLLVM using a SymbolTable (PR #68082)
Mehdi Amini
llvmlistbot at llvm.org
Wed Oct 4 15:29:44 PDT 2023
================
@@ -728,16 +749,23 @@ void mlir::populateFuncToLLVMFuncOpConversionPattern(
patterns.add<FuncOpConversion>(converter);
}
+namespace {
+void populateFuncToLLVMConversionPatternsInternal(
+ LLVMTypeConverter &converter, RewritePatternSet &patterns,
+ // Can be nullptr.
+ const SymbolTable *symbolTable) {
+ populateFuncToLLVMFuncOpConversionPattern(converter, patterns);
+ patterns.add<CallIndirectOpLowering>(converter);
+ patterns.add<CallOpLowering>(converter, symbolTable);
+ patterns.add<ConstantOpLowering>(converter);
+ patterns.add<ReturnOpLowering>(converter);
+}
+} // namespace
+
void mlir::populateFuncToLLVMConversionPatterns(LLVMTypeConverter &converter,
RewritePatternSet &patterns) {
- populateFuncToLLVMFuncOpConversionPattern(converter, patterns);
- // clang-format off
- patterns.add<
- CallIndirectOpLowering,
- CallOpLowering,
- ConstantOpLowering,
- ReturnOpLowering>(converter);
- // clang-format on
+ populateFuncToLLVMConversionPatternsInternal(converter, patterns,
+ /*symbolTable=*/nullptr);
----------------
joker-eph wrote:
We should expose this new parameter instead, seems like something other clients of the API should be aware of and able to use right?
https://github.com/llvm/llvm-project/pull/68082
More information about the Mlir-commits
mailing list