| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir] Support lowering of dialect attributes attached to top-level modules This patch supports the processing of dialect attributes attached to top-level module-type operations during MLIR-to-LLVMIR lowering. This approach modifies the mlir::translateModuleToLLVMIR() function to call ModuleTranslation::convertOperation() on the top-level operation, after its body has been lowered. This, in turn, will get the LLVMTranslationDialectInterface object associated to that operation's dialect before trying to use it for lowering prior to processing dialect attributes attached to the operation. Since there are no LLVMTranslationDialectInterfaces for the builtin and GPU dialects, which define their own module-type operations, this patch also adds and registers them. The requirement for always calling mlir::registerBuiltinDialectTranslation() before any translation of MLIR to LLVM IR where builtin module operations are present is introduced. The purpose of these new translation interfaces is to succeed when processing module-type operations, allowing the lowering process to continue and to prevent the introduction of failures related to not finding such interfaces. Differential Revision: https://reviews.llvm.org/D145932 | 3 年前 | |
[mlir] Support lowering of dialect attributes attached to top-level modules This patch supports the processing of dialect attributes attached to top-level module-type operations during MLIR-to-LLVMIR lowering. This approach modifies the mlir::translateModuleToLLVMIR() function to call ModuleTranslation::convertOperation() on the top-level operation, after its body has been lowered. This, in turn, will get the LLVMTranslationDialectInterface object associated to that operation's dialect before trying to use it for lowering prior to processing dialect attributes attached to the operation. Since there are no LLVMTranslationDialectInterfaces for the builtin and GPU dialects, which define their own module-type operations, this patch also adds and registers them. The requirement for always calling mlir::registerBuiltinDialectTranslation() before any translation of MLIR to LLVM IR where builtin module operations are present is introduced. The purpose of these new translation interfaces is to succeed when processing module-type operations, allowing the lowering process to continue and to prevent the introduction of failures related to not finding such interfaces. Differential Revision: https://reviews.llvm.org/D145932 | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 |