From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25823 invoked by alias); 19 Jan 2015 15:40:42 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 25740 invoked by uid 48); 19 Jan 2015 15:40:35 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/64671] New: [5 Regression] s390-linux profiledbootstrap failure Date: Mon, 19 Jan 2015 15:40:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-01/txt/msg01850.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64671 Bug ID: 64671 Summary: [5 Regression] s390-linux profiledbootstrap failure Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org On s390-linux, profiledbootstrap hangs while compiling various libgcc routines with stageprofile cc1. This looks like a register allocation issue to me. .L2667: .loc 3 1448 0 lr %r1,%r8 ahi %r1,-1 lhi %r4,1 lr %r10,%r1 jne .L2667 is an endless loop, because r8 doesn't change in the loop, so if it is not 1 at the beginning of the loop, it will cycle forever. During reload one can see first the: (code_label 6256 8889 3592 323 2667 "" [1 uses]) (note 3592 6256 3599 323 [bb 323] NOTE_INSN_BASIC_BLOCK) (insn 3599 3592 11197 323 (set (reg:SI 4 %r4) (const_int 1 [0x1])) ../../gcc/vec.h:1448 68 {*movsi_esa} (nil)) (insn 11197 3599 11038 323 (parallel [ (set (pc) (if_then_else (ne (reg:SI 8 %r8 [orig:1459 D.73971 ] [1459]) (const_int 1 [0x1])) (label_ref 6256) (pc))) (set (reg:SI 10 %r10 [orig:1460 D.73963 ] [1460]) (plus:SI (reg:SI 8 %r8 [orig:1459 D.73971 ] [1459]) (const_int -1 [0xffffffffffffffff]))) (clobber (reg:SI 1 %r1 [5607])) (clobber (reg:CC 33 %cc)) ]) ../../gcc/vec.h:1448 619 {doloop_si64} (nil)) which already is the endless loop, but at *.ira there is no such code like that, so it rematerialized from somewhere else.