https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42909

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #7)
> (In reply to Andrew Pinski from comment #5)
> > Created attachment 61618 [details]
> > Patch which I am testing for the aarch64 issue
> 
> But it miscompiles (there is no testcase for this though):
> ```
> struct s1 { int x[1024]; };
> 
> void f(struct s1, struct s1);
> 
> void g(struct s1 x)
> {
>     f(x, x);
> }
> ```
> Where we need a copy of the incoming argument as we can only reuse it once.
> 
> Let me think of how to fix that.

I just need a `hash_set<tree>` which we add to as we process the arguments,
since we are processing all the arguments in this function; it is just an
additional few lines of code.

Reply via email to