This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/57268] [4.9 Regression] c nested loops hang compiler in sched-deps.c
- From: "dtemirbulatov at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 May 2013 11:50:43 +0000
- Subject: [Bug rtl-optimization/57268] [4.9 Regression] c nested loops hang compiler in sched-deps.c
- Auto-submitted: auto-generated
- References: <bug-57268-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57268
Dinar Temirbulatov <dtemirbulatov at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dtemirbulatov at gmail dot com
--- Comment #3 from Dinar Temirbulatov <dtemirbulatov at gmail dot com> ---
(In reply to Jakub Jelinek from comment #2)
> This is weird, I've tried to bisect it, r197678 still compiled it without
> hanging, r197681 ICEd somewhere in lra-constraints.c, but if I rebuild
> lra-constraints.o with -O0, it instead ICEs on frame reg uses during
> final_scan_insns (i.e. LRA hasn't replaced the frame pointer with hard frame
> pointer or stack pointer), r197696 still ICEs, r197700 hangs.
> BTW, doing -da before it hangs, I'm seeing right in *.split4 dump REG_EQUIV
> notes like:
> (insn 20109 70 20110 19 (set (reg/f:DI 38 r9 [19927])
> (plus:DI (reg/f:DI 7 sp)
> (const_int 16 [0x10]))) 254 {*leadi}
> (expr_list:REG_EQUIV (plus:DI (reg/f:DI 20 frame)
> (const_int -8 [0xfffffffffffffff8]))
> (nil)))
> wonder if it isn't a bug that RA hasn't replaced the eliminable register in
> the note with sp (or hfp).
Problem was triggered by
Author: amker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu Apr 11 03:55:14 2013 +0000
PR target/56124
* ira-costs.c (scan_one_insn): Check whether the source rtx of
loading has side effect.
And the problem in my view is in the scheduling 2 pass, it creates too long
read dependents list without flushing.