[all-commits] [llvm/llvm-project] b7c4b2: [Attributor] Check callback broker argument aliase...
Tomas Matheson via All-commits
all-commits at lists.llvm.org
Fri Sep 25 04:00:45 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b7c4b2171d5f4e902dad4b207625bc08c45e8cbf
https://github.com/llvm/llvm-project/commit/b7c4b2171d5f4e902dad4b207625bc08c45e8cbf
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2026-09-25 (Fri, 25 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/callback-noalias.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/OpenMP/parallel_deletion.ll
Log Message:
-----------
[Attributor] Check callback broker argument aliases correctly (#218672)
Fix a bug in AANoAliasCallSiteArgument. AbstractCallSite uses separate
callback argument and broker operand numbers. Example:
```llvm
call void @broker(
ptr @callee, # broker arg 0
ptr %slot, # broker arg 1
ptr %slot # broker arg 2
) !callback !0
define internal void @callee(
ptr align 8 dereferenceable(8) %a, # callback arg 0
ptr align 8 dereferenceable(8) %b # callback arg 1
) {
```
In `mayAliasWithArgument`, `OtherArgNo` is the broker (call-site) arg
number (0, 1 or 2), so it should be compared against
`getCallSiteArgNo()` not `getCalleeArgNo()`. Otherwise it will compare
the argument with itself, and skip some comparisons with other args, and
wrongly infer/fail to infer `noalias`.
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