[all-commits] [llvm/llvm-project] 1a71ec: [CIR] Reuse BlockAddrInfoAttr in BlockAddressAttr
adams381 via All-commits
all-commits at lists.llvm.org
Tue Jun 9 13:06:54 PDT 2026
Branch: refs/heads/users/adams381/cir-computed-goto-blockaddress
Home: https://github.com/llvm/llvm-project
Commit: 1a71ecbe0f5b7b12c120219c883d2e9be441825b
https://github.com/llvm/llvm-project/commit/1a71ecbe0f5b7b12c120219c883d2e9be441825b
Author: Adam Smith <adams at nvidia.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Reuse BlockAddrInfoAttr in BlockAddressAttr
The constant `#cir.block_address` attribute stored its own `func` and
`label` parameters, duplicating `BlockAddrInfoAttr`, which already
bundles exactly that pair and is what the `cir.block_address`
operation takes. Store a `BlockAddrInfoAttr` instead so the constant
and operation forms share one representation.
The textual format is unchanged (`#cir.block_address<@func, "label">`):
a small custom printer/parser flattens the embedded bundle so the two
forms keep printing the same way the operation does. Call sites now
reach the function and label through `getBlockAddrInfo()`.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list