| Issue |
76162
|
| Summary |
Wrong code at -O1 and above on x86_64-linux_gnu(recent regression)
|
| Labels |
|
| Assignees |
|
| Reporter |
shao-hua-li
|
Clang at -O1 and above produces the wrong code.
Bisected to 8773c9be3d9868288f1f46957945d50ff58e4e91, which was committed by @mgudim
Compiler explorer: https://godbolt.org/z/aTKK3Prqs
```console
% cat reduced.c
int printf(const char *, ...);
int a, b = 7, c;
int *d = &c;
int e() { return 1 & b; }
int main() {
char f = -1;
*d = a + f == e() + f + f;
printf("%d\n", c);
}
%
% clang -O0 reduced.c && ./a.out
1
% clang -O1 reduced.c && ./a.out
0
%
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs