https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #12 from Pontakorn Prasertsuk ---
I notice that GCC also does not optimize this case:
https://godbolt.org/z/7oGqjqqz4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #11 from Pontakorn Prasertsuk ---
(In reply to rguent...@suse.de from comment #10)
> On Mon, 5 Jun 2023, ptk.prasertsuk at gmail dot com wrote:
>
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
> >
> > --- Comment #9 from P
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #9 from Pontakorn Prasertsuk ---
(In reply to Richard Biener from comment #8)
> (In reply to Pontakorn Prasertsuk from comment #7)
> > For the LLVM IR code of the snippet I provided, Clang's alias analysis can
> > prove that `new` ca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #7 from Pontakorn Prasertsuk ---
For the LLVM IR code of the snippet I provided, Clang's alias analysis can
prove that `new` call has no side effect to other memory location. This is
indicated by `noalias` keyword at the return value
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #5 from Pontakorn Prasertsuk ---
(In reply to Andrew Pinski from comment #3)
> We don't even optimize:
> ```
> struct MyClass
> {
> unsigned long long arr[128];
> };
>
> [[gnu::noipa]]
> void sink(void *m);
> void gg(MyClass &a,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
--- Comment #4 from Pontakorn Prasertsuk ---
(In reply to Richard Biener from comment #1)
> Ick - convoluted C++. We end up with
>
> void ff (struct MyClass & obj)
> {
> vector(2) long unsigned int vect_SR.16;
> vector(2) long unsigned int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035
Bug ID: 110035
Summary: Missed optimization for dependent assignment
statements
Product: gcc
Version: 12.1.0
Status: UNCONFIRMED
Severity: normal
Pri