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.