[all-commits] [llvm/llvm-project] 68d3c2: [CIR] Widen memory effects for ABI argument memory...
Adam Smith via All-commits
all-commits at lists.llvm.org
Wed Sep 23 07:44:37 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 68d3c25ee618d057ef16cea97b34dc2b85d46118
https://github.com/llvm/llvm-project/commit/68d3c25ee618d057ef16cea97b34dc2b85d46118
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/test/CIR/CodeGen/side-effect.cpp
A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem-indirect.cir
A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem.cir
Log Message:
-----------
[CIR] Widen memory effects for ABI argument memory (#221067)
A const or pure callee that the ABI rewrites to take an sret slot or a
byval pointer reaches argument memory whatever the source declared, and
a variadic callee does too since its declared parameters do not cover
every argument. CallConvLowering was leaving memory_effects untouched,
so LowerToLLVM emitted memory(none) or memory(read) for functions that
do touch that memory.
CallConvLowering now sets arg_mem to readwrite on #cir.memory_effects
once it knows the signature, and does the same at a call site when the
call passes a slot.
Assisted-by: Cursor / claude-opus-5
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