[Mlir-commits] [mlir] [MLIR][LLVM] Implement LLVM dialect support for global aliases (PR #125295)
Christian Ulmann
llvmlistbot at llvm.org
Mon Feb 3 23:55:06 PST 2025
================
@@ -1248,6 +1281,30 @@ LogicalResult ModuleTranslation::convertGlobals() {
llvm::MDTuple::get(getLLVMContext(), globals));
}
+ // Convert global alias bodies.
+ for (auto op : getModuleBody(mlirModule).getOps<LLVM::AliasOp>()) {
+ Block &initializer = op.getInitializerBlock();
+ llvm::IRBuilder<> builder(llvmModule->getContext());
+
+ for (mlir::Operation &op : initializer.without_terminator()) {
+ if (failed(convertOperation(op, builder)))
+ return emitError(op.getLoc(), "fail to convert alias initializer");
+ auto *cst = dyn_cast<llvm::Constant>(lookupValue(op.getResult(0)));
+ if (!cst)
+ return emitError(op.getLoc(), "unemittable constant value");
+ }
+
+ ReturnOp ret = cast<ReturnOp>(initializer.getTerminator());
+ llvm::Constant *cst = cast<llvm::Constant>(lookupValue(ret.getOperand(0)));
----------------
Dinistro wrote:
```suggestion
auto ret = cast<ReturnOp>(initializer.getTerminator());
auto *cst = cast<llvm::Constant>(lookupValue(ret.getOperand(0)));
```
https://github.com/llvm/llvm-project/pull/125295
More information about the Mlir-commits
mailing list