Issue |
130958
|
Summary |
[Clang] Missed case of TBAA with different derived classes with a common base class
|
Labels |
clang:codegen,
missed-optimization,
TBAA
|
Assignees |
|
Reporter |
frederick-vs-ja
|
When compiling this example with `-O3`, Clang currently performs one more indirection than GCC. [Godbolt link](https://godbolt.org/z/hKd7561os)
```C++
struct Base {
int x;
};
struct D1 : Base {};
struct D2 : Base {
Base y;
};
int foo2(D1& d1, D2& d2) {
d1.x = 1;
d2.x = 2;
return d1.x;
}
```
It seems that Clang's TBAA can be improved for such cases.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs