Issue 120879
Summary [C++23] I want `[[assume(p1 != p2)]]` can be optimized as __restrict
Labels new issue
Assignees
Reporter GoodenoughPhysicsLab
    ```cpp

int f(int *a, int *__restrict b) noexcept {
    *a = 1;
    *b = 2;
    return *a + *b;
}

int f2(int *a, int *b) noexcept {
    [[assume(a != b)]];
    *a = 1;
    *b = 2;
 return *a + *b;
}
```

```asm
f(int*, int*):
        mov     dword ptr [rdi], 1
        mov     dword ptr [rsi], 2
        mov     eax, 3
 ret

f2(int*, int*):
        mov     dword ptr [rdi], 1
        mov dword ptr [rsi], 2
        mov     eax, dword ptr [rdi]
        add eax, 2
        ret
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to