[all-commits] [llvm/llvm-project] b9279b: [CIR] Mark the argument attributes CIR does not em...

Adam Smith via All-commits all-commits at lists.llvm.org
Thu Sep 10 13:03:08 PDT 2026


  Branch: refs/heads/users/adams381/cir-callconv-non-byval
  Home:   https://github.com/llvm/llvm-project
  Commit: b9279bcc1013fc08bfa7ceaa8194bf573ae8cca3
      https://github.com/llvm/llvm-project/commit/b9279bcc1013fc08bfa7ceaa8194bf573ae8cca3
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp

  Log Message:
  -----------
  [CIR] Mark the argument attributes CIR does not emit yet

The two missing features that were documented in comments become
MissingFeatures markers.

Assisted-by: Cursor / claude-opus-5


  Commit: 21379e5fa681317b29cf0e6ed76e38d54054dd96
      https://github.com/llvm/llvm-project/commit/21379e5fa681317b29cf0e6ed76e38d54054dd96
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir

  Log Message:
  -----------
  [CIR] Defer collapsing a non-byval parameter's slot

The map recording non-byval parameters existed only because the pass
erased the slot a later call site needed to recognise them by.  Keeping
the slot until every call site has been rewritten removes the need to
record anything, and drops one arm of the forwarding predicate.

A slot also states the alignment CIRGen chose for a local copy rather
than the one the ABI promises, and a call is rewritten with its callee
rather than its containing function, so reading it made forwarding
depend on declaration order.  Restate each slot up front instead.

Assisted-by: Cursor / claude-opus-5


Compare: https://github.com/llvm/llvm-project/compare/2c5657815a9c...21379e5fa681

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