[clang] [CIR] Realign CIR-to-LLVM IR lowering code with incubator (PR #129293)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 28 13:11:02 PST 2025


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

In fact, I see that I did both -- I modified `GlobalInitAttrRewriter` to use `TypeSwitch` but I rewrote this code to not use it. I guess that was an incomplete refactoring, but the good new is that it will make it easy to update it as you've suggested.

https://github.com/llvm/llvm-project/pull/129293


More information about the cfe-commits mailing list