[Bug rtl-optimization/118755] [15 Regression] ccmp_3.c fails on aarch64
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 6 06:05:50 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118755
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So going back to the question of why late combine fails here.
We have:
```
(set x0 (eq ...)
(set pc (if_then_else (eq x0 (const_int 0)) label pc)
(set (mem) x0)
...
(set x0 (mem))
label:
x0 = phi<x0, x0>
(use x0)
```
But late combine requires to prop across the phi (though in this case there is
nothing to prop too).
```
(gdb) p debug(use->phi ())
phi node r0:a9 (x0:DI) in ebb4 at point 30
inputs:
bb3: set r0:i50 (x0:DI)
bb2: set r0:i13 (x0:SI)
used by insn i26 in bb4 [ebb4] at point 34
live out from bb4 [ebb4] at point 36
used by phi node r0:a12 (x0:DI) in ebb1 at point 38
```
And late_combine requires you to prop it into all uses rather than some of the
uses.
So going back to fwprop.
More information about the Gcc-bugs
mailing list