On Tue, 11 Mar 2025, Jakub Jelinek wrote:

> On Tue, Mar 11, 2025 at 10:18:18AM +0100, Richard Biener wrote:
> > I think the patch as-is is more robust, but still - ugh ... I wonder
> > whether we can instead avoid introducing the COMPLEX_EXPR at all
> > at -O0?
> 
> Can we set DECL_NOT_GIMPLE_REG_P at -O0 during gimplification (where
> we've already handled some uses/setters of it), at least when
> gimplify_modify_expr_complex_part sees {REAL,IMAG}PART_EXPR on
> {VAR,PARM,RESULT}_DECL?

Yes, that should work for LHS __real / __imag.

> Or would we need to basically revert to the old way (for -O0 only) where
> we assumed all complex vars aren't gimple regs unless proven otherwise
> (not assume it for getting initialized internal vars of course)?

No, I wouldn't go this far at this point.

Richard.

Reply via email to