[Bug rtl-optimization/69447] [5/6 Regression] wrong code with -O2 -fno-schedule-insns and mixed 8/16/32/64bit arithmetics @ armv7a
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 26 21:46:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69447
--- Comment #7 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Richard Henderson from comment #6)
> ... except that's not the same set of live ranges
> computed by IRA:
>
> Insn 55(l0): point = 9
> Insn 70(l0): point = 11
> ...
> Insn 50(l0): point = 19
> ...
> Insn 21(l0): point = 61
> Insn 19(l0): point = 65
> Insn 17(l0): point = 67
>
> a3(r111 [0]): [10..67]
> a3(r111 [1]): [62..67]
>
> If we remat insn 21 into insn 50, we don't extend the lifetime
> of r111[0], but we do extend the lifetime of r111[1].
>
> The problem appears to be that IRA takes subregs into account
> but LRA doesn't. Vlad, am I on the right track here?
May be. Bernd extended IRA lately to follow separate subreg live ranges (only
2 subregs). LRA does not do that.
More information about the Gcc-bugs
mailing list