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

Reply via email to