================ @@ -218,12 +221,31 @@ mlir::LogicalResult CIRToLLVMGlobalOpLowering::matchAndRewrite( SmallVector<mlir::NamedAttribute> attributes; if (init.has_value()) { - GlobalInitAttrRewriter initRewriter(llvmType, rewriter); - init = initRewriter.rewriteInitAttr(init.value()); - // If initRewriter returned a null attribute, init will have a value but - // the value will be null. If that happens, initRewriter didn't handle the - // attribute type. It probably needs to be added to GlobalInitAttrRewriter. - if (!init.value()) { + if (mlir::isa<cir::FPAttr, cir::IntAttr>(init.value())) { ---------------- andykaylor wrote:
The incubator only has three types that get handled here, but it does look a bit cleaner with these being handled separately. There is a possibility that the `if` above could get out of sync with the types handled in `GlobalInitAttrRewriter` but that would trigger the error below, so we'd catch it in development. https://github.com/llvm/llvm-project/pull/129293 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits