public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/64688] [5 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90) Date: Sun, 25 Jan 2015 16:00:00 -0000 [thread overview] Message-ID: <bug-64688-4-cWmY5qYBZl@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-64688-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64688 Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ra Status|REOPENED |NEW Component|target |rtl-optimization --- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Markus Trippelsdorf from comment #11) > Created attachment 34566 [details] > reduced testcase > > trippels@gcc20 % g++ -c -O3 -std=c++11 -march=westmere performance.ii > performance.ii: In function ‘void performance_testtest_method()’: > performance.ii:133:1: internal compiler error: Max. number of generated > reload insns per insn is achieved (90) Happens when trying to reload for: (insn 73 72 393 2 (set (reg:V4SI 304) (vec_merge:V4SI (vec_duplicate:V4SI (subreg:SI (reg:QI 103 [ SR.27 ]) 0)) (const_vector:V4SI [ (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) ]) (const_int 1 [0x1]))) 2460 {vec_setv4si_0} (nil)) Reload goes into infinite loop here. Changing pseudo 103 in operand 2 of insn 73 on equiv 0 Creating newreg=359, assigning class ALL_REGS to subreg reg r359 73: r304:V4SI=vec_merge(vec_duplicate(r359:QI#0),const_vector,0x1) Inserting subreg reload before: 502: r359:QI=0 2 Non pseudo reload: reject++ alt=0,overall=1,losers=0,rld_nregs=0 Choosing alt 0 in insn 73: (0) =Yr (1) C (2) Yr {vec_setv4si_0} Change to class NO_REX_SSE_REGS for r359 0 Non input pseudo reload: reject++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=0,overall=16,losers=2,rld_nregs=2 0 Non input pseudo reload: reject++ alt=1,overall=7,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=2,overall=16,losers=2 -- refuse 0 Non input pseudo reload: reject++ 1 Non-pseudo reload: reject+=2 1 Non input pseudo reload: reject++ alt=3,overall=16,losers=2 -- refuse 0 Non input pseudo reload: reject++ alt=4,overall=7,losers=1,rld_nregs=1 Staticly defined alt reject+=6 0 Non input pseudo reload: reject++ alt=5,overall=13,losers=1 -- refuse 0 Non input pseudo reload: reject++ alt=6,overall=7,losers=1,rld_nregs=0 alt=7: Bad operand -- refuse alt=8: Bad operand -- refuse 0 Non input pseudo reload: reject++ alt=9: Bad operand -- refuse Choosing alt 6 in insn 502: (0) m (1) qn {*movqi_internal} Creating newreg=360 from oldreg=359, assigning class NO_REGS to r360 502: r360:QI=0 Inserting insn reload after: 503: r359:QI=r360:QI 0 Non input pseudo reload: reject++ alt=0,overall=13,losers=2,rld_nregs=2 0 Non input pseudo reload: reject++ alt=1,overall=13,losers=2,rld_nregs=2 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=2,overall=8,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ alt=3,overall=13,losers=2 -- refuse 0 Non input pseudo reload: reject++ alt=4,overall=13,losers=2 -- refuse Staticly defined alt reject+=6 0 Non input pseudo reload: reject++ alt=5,overall=13,losers=1 -- refuse 0 Non input pseudo reload: reject++ alt=6,overall=13,losers=2 -- refuse alt=7: Bad operand -- refuse alt=8: Bad operand -- refuse 0 Non input pseudo reload: reject++ alt=9: Bad operand -- refuse Choosing alt 2 in insn 503: (0) q (1) qm {*movqi_internal} Creating newreg=361 from oldreg=359, assigning class GENERAL_REGS to r361 503: r361:QI=r360:QI Inserting insn reload after: 504: r359:QI=r361:QI 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=0,overall=608,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=1,overall=608,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=2,overall=608,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=3,overall=608,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=4,overall=608,losers=1,rld_nregs=1 Staticly defined alt reject+=6 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=5,overall=614,losers=1,rld_nregs=1 0 Non input pseudo reload: reject++ 1 Non pseudo reload: reject++ alt=6,overall=8,losers=1,rld_nregs=0 alt=7: Bad operand -- refuse alt=8: Bad operand -- refuse 0 Non input pseudo reload: reject++ alt=9: Bad operand -- refuse Choosing alt 6 in insn 504: (0) m (1) qn {*movqi_internal} Creating newreg=362 from oldreg=359, assigning class NO_REGS to r362 ... This is a new problem and does not look like target problem to me. Recategorizing back to RA problem. >From gcc-bugs-return-474784-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sun Jan 25 16:37:40 2015 Return-Path: <gcc-bugs-return-474784-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 10521 invoked by alias); 25 Jan 2015 16:37:32 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 9480 invoked by uid 48); 25 Jan 2015 16:36:59 -0000 From: "antony at cosmologist dot info" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/64787] New: Invalid code on sourced allocation of class(*) character string Date: Sun, 25 Jan 2015 16:37:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: fortran X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: antony at cosmologist dot info 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: <bug-64787-4@http.gcc.gnu.org/bugzilla/> 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/msg02778.txt.bz2 Content-length: 937 https://gcc.gnu.org/bugzilla/show_bug.cgi?idd787 Bug ID: 64787 Summary: Invalid code on sourced allocation of class(*) character string Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: antony at cosmologist dot info On trunk module X contains subroutine AddCopy(C) class(*), intent(in) :: C class(*), pointer :: P allocate(P, source=C) end subroutine end module X program test use X call AddCopy('test string') end program test compiles, but when compiled with -O3 this always gives me a Seg Fault when run (and probably invalid code more generally). It may be related to https://gcc.gnu.org/bugzilla/show_bug.cgi?idd692 https://gcc.gnu.org/bugzilla/show_bug.cgi?idD672
next prev parent reply other threads:[~2015-01-25 16:00 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-20 12:34 [Bug target/64688] New: " trippels at gcc dot gnu.org 2015-01-20 16:50 ` [Bug target/64688] [5 Regression] " jakub at gcc dot gnu.org 2015-01-21 20:52 ` vmakarov at gcc dot gnu.org 2015-01-22 8:09 ` ubizjak at gmail dot com 2015-01-22 14:45 ` uros at gcc dot gnu.org 2015-01-22 20:26 ` uros at gcc dot gnu.org 2015-01-23 23:05 ` jakub at gcc dot gnu.org 2015-01-24 10:31 ` trippels at gcc dot gnu.org 2015-01-24 10:40 ` trippels at gcc dot gnu.org 2015-01-24 10:42 ` ubizjak at gmail dot com 2015-01-24 14:40 ` trippels at gcc dot gnu.org 2015-01-25 16:00 ` ubizjak at gmail dot com [this message] 2015-01-30 22:23 ` [Bug rtl-optimization/64688] [4.9/5 " vmakarov at gcc dot gnu.org 2015-01-31 2:48 ` law at redhat dot com 2015-01-31 7:18 ` trippels at gcc dot gnu.org 2015-01-31 8:53 ` [Bug rtl-optimization/64688] [4.9 " jakub at gcc dot gnu.org 2015-02-03 16:31 ` law at redhat dot com 2015-02-04 18:26 ` vmakarov at gcc dot gnu.org 2015-03-27 20:13 ` vmakarov at gcc dot gnu.org 2015-04-22 12:02 ` jakub at gcc dot gnu.org 2015-04-22 12:22 ` ubizjak at gmail dot com
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-64688-4-cWmY5qYBZl@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).