[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:41:34 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:
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
More information about the cfe-commits
mailing list