On 14/10/26 03:57, Richard Sandiford wrote:
External email: Use caution opening links or attachments


Andrea Pinski <[email protected]> writes:
On Mon, Oct 12, 2026 at 1:47 AM <[email protected]> wrote:

From: Dhruv Chawla <[email protected]>

r17-4816-gb24418a2212866 gives a call whose result is discarded a
placeholder
lhs using create_tmp_var, which gives a VAR_DECL. This ends up setting
ssa_renaming_needed and the subsequent fold passes do not set
TODO_update_ssa,
so execute_todo ICEs. This is only set for register types and not for
aggregates, like svfloat32x2_t, which cannot be made via make_ssa_name
regardless. Thus, only generate the SSA name when is_gimple_reg_type is
true.

This needs the fold to run after SSA construction. In the testcase the
second
operand is not yet a constant when intrinsics are first folded from
gimple-low, so the fold only succeeds once CCP has executed.

Bootstrapped and regtested on aarch64-linux-gnu.

Signed-off-by: Dhruv Chawla <[email protected]>

gcc/ChangeLog:

         PR target/127771
         * config/aarch64/aarch64-acle-builtins.cc: Include ssa.h.
         (gimple_folder::fold): Make an SSA name for the placeholder when
         is_gimple_reg_type and release it when unused.

What about this alternative patch?  This should be less fragile though
it requires some more changes than the current approach.
I have not tested it either so there might be some typos.

FWIW, I've also got an idea for an alternative.  It's even more
invasive :) but again hopefully less fragile.  Hope to post it tomorrow.

Thanks,
Richard

Hi Richard,

Gentle ping on this. I saw your patch for the refactoring go in, however
I do believe this PR is still not fixed? At least it still appears to be
open, and I wonder what the next steps to fix this are? This is a pre-req
for my next patch (for widening multiply intrinsics) as it requires
folding to be done post-SSA and it ends up hitting this ICE.

--
Regards,
Dhruv

Reply via email to