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

--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 19 Apr 2024, hubicka at ucw dot cz wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114774
> 
> --- Comment #3 from Jan Hubicka <hubicka at ucw dot cz> ---
> > Yes, DSE walking doesn't "branch" but goes to some length handling some 
> > trivial
> > branches only.  Mainly to avoid compile-time issues.  It needs larger
> > re-structuring to fix that, but in principle it shouldn't be difficult. 
> 
> Looking into it, instead of having simple outer loop it needs to
> maintain worklist of defs to proceed each annotated with live bitmap,
> rigt?

Yeah, I have some patch on some branch somewhere ... IIRC it was broken
and miscompiled things and I got distracted ...

I will eventually get back to DSE for stage1 also because of some other
PRs.

> With Maritn we noticed it while looking into push_back codegen. In case
> aggregate is passed to a function call but does not escape, we now SRA
> it removing all uses and corresponding clobbers, but we do not remove the
> stores (Martin was expecting DSE to do it). As a result the store stays
> around which causes partial memory stall (storing in pieces, loading as
> a whole). It seems easy to remove this specific store during SRA, but it
> seems improving DSE here would be desirable.

Yes.

Reply via email to