================
@@ -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

Reply via email to