[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