public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c @ 2008-10-21 16:41 krebbel at gcc dot gnu dot org 2008-10-21 21:45 ` [Bug middle-end/37884] " rguenth at gcc dot gnu dot org ` (7 more replies) 0 siblings, 8 replies; 9+ messages in thread From: krebbel at gcc dot gnu dot org @ 2008-10-21 16:41 UTC (permalink / raw) To: gcc-bugs GCC bootstrap on s390x currently fails with: /build2/gcc/libgcc/../gcc/libgcc2.c: In function '__ucmpdi2': /build2/gcc/libgcc/../gcc/libgcc2.c:1169: internal compiler error: in compare_ranges, at tree-vrp.c:3375 reload reassigns a hard reg to a pseudo which has been created by change-loop (ira-emit.c). The pseudo is live across a bb boundary. The target bb has another pred bb which clobbers the same hard reg which is chosen by reload for the pseudo. So my current guess is that either the liveness info is broken for the pseudo created by change_loop or reload does not respect it in some way. The problem might be related to PR37859 which describes a problem where IRA is not able to detect that a register has been modified in the loop body. I've tried the patch: http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00780.html without success. -- Summary: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: wrong-code, ra Severity: critical Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: krebbel at gcc dot gnu dot org GCC build triplet: s390x-ibm-linux GCC host triplet: s390x-ibm-linux GCC target triplet: s390x-ibm-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org @ 2008-10-21 21:45 ` rguenth at gcc dot gnu dot org 2008-10-22 3:16 ` mmitchel at gcc dot gnu dot org ` (6 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: rguenth at gcc dot gnu dot org @ 2008-10-21 21:45 UTC (permalink / raw) To: gcc-bugs -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org 2008-10-21 21:45 ` [Bug middle-end/37884] " rguenth at gcc dot gnu dot org @ 2008-10-22 3:16 ` mmitchel at gcc dot gnu dot org 2008-10-22 12:53 ` krebbel at gcc dot gnu dot org ` (5 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2008-10-22 3:16 UTC (permalink / raw) To: gcc-bugs -- mmitchel at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org 2008-10-21 21:45 ` [Bug middle-end/37884] " rguenth at gcc dot gnu dot org 2008-10-22 3:16 ` mmitchel at gcc dot gnu dot org @ 2008-10-22 12:53 ` krebbel at gcc dot gnu dot org 2008-10-24 22:23 ` vmakarov at redhat dot com ` (4 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: krebbel at gcc dot gnu dot org @ 2008-10-22 12:53 UTC (permalink / raw) To: gcc-bugs ------- Comment #1 from krebbel at gcc dot gnu dot org 2008-10-22 12:51 ------- The problem again (similar to PR37674) seems to be related to the propagation of the hard reg conflict sets in ira_flattening. The conflict sets are only propagated to the parent allocno if the child allocno uses the same pseudo. This breaks the case below. The miscompile is created by IRA when assigning hard reg r14 to pseudo r295. That way the call in L4 might be reached with the clobbered value of r14 residing in r8. Assigning r14 to r295 seems to be valid in loop L1 but it is not in the nested loop L4 since L4 contains a call insn which clobbers r14. The conflict of a147r315 with r14 is properly recorded but is not propagated to L1 in ira_flattening. r295 as well as r315 are created by change_loop as copies of r83 in L0. +-----------------+ | +--------+ | | | bb 38 | | | | r295=r7| | | +--------+ | |a8r83 | L0| +--------+--------+ | +--------+--------+ +-----------------------------------+ | v | | +-----------+ | | +-----+ | | +-----+<---------|bb 57 | | | |bb 93|<----+-----+---|bb 71| |r2=r8 | | | +-----+ | | +-----+--------->|clobber r14| | | | | | ^ +-----------+ | | | | | | | | v | | | | | +---------+ | | | a147r315 | | | bb 50 |---+-----+-----+ | | | r8=r295 | | | L4| | +---------+ | +-----------------------------------+ | | | a57r295 L1| +-----------------+ -- krebbel at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |vmakarov at gcc dot gnu dot |dot org |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org ` (2 preceding siblings ...) 2008-10-22 12:53 ` krebbel at gcc dot gnu dot org @ 2008-10-24 22:23 ` vmakarov at redhat dot com 2008-10-26 6:56 ` hjl at gcc dot gnu dot org ` (3 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: vmakarov at redhat dot com @ 2008-10-24 22:23 UTC (permalink / raw) To: gcc-bugs ------- Comment #2 from vmakarov at redhat dot com 2008-10-24 22:21 ------- Andreas, thanks for the useful preliminary analysis. The problem is a bit different than 37674. Loop4 contains Loop5 and there is an exit from Loop5 right to Loop1 and store (from hard reg in L5 to memory in L1) is removed because the corresponding pseudo-register is not changed in L5 and L4. In this case we should propagate hard register conflicts as it is done for live ranges in ira-build.c::copy_live_ranges_to_removed_store_destination. I have a patch to solve the problem. Unfortunately I have not enough disk space to make bootstrap on s390 on available to me. But at least it went to 3rd stage. After patch testing I am going to submit it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org ` (3 preceding siblings ...) 2008-10-24 22:23 ` vmakarov at redhat dot com @ 2008-10-26 6:56 ` hjl at gcc dot gnu dot org 2008-10-27 9:20 ` krebbel at gcc dot gnu dot org ` (2 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: hjl at gcc dot gnu dot org @ 2008-10-26 6:56 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from hjl at gcc dot gnu dot org 2008-10-26 06:54 ------- Subject: Bug 37884 Author: hjl Date: Sun Oct 26 06:53:25 2008 New Revision: 141371 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141371 Log: 2008-10-25 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37884 * ira-build.c (copy_live_ranges_to_removed_store_destinations): Rename to copy_info_to_removed_store_destinations. Propagate conflict hard regs and register stack attribute. Modified: branches/ira-merge/gcc/ChangeLog.ira branches/ira-merge/gcc/ira-build.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org ` (4 preceding siblings ...) 2008-10-26 6:56 ` hjl at gcc dot gnu dot org @ 2008-10-27 9:20 ` krebbel at gcc dot gnu dot org 2008-10-27 16:22 ` vmakarov at gcc dot gnu dot org 2008-10-27 17:28 ` jakub at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: krebbel at gcc dot gnu dot org @ 2008-10-27 9:20 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from krebbel at gcc dot gnu dot org 2008-10-27 09:19 ------- Thanks for the fix. The ira-merge branch now bootstraps on s390 and s390x: http://gcc.gnu.org/ml/gcc-testresults/2008-10/msg01894.html http://gcc.gnu.org/ml/gcc-testresults/2008-10/msg01879.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org ` (5 preceding siblings ...) 2008-10-27 9:20 ` krebbel at gcc dot gnu dot org @ 2008-10-27 16:22 ` vmakarov at gcc dot gnu dot org 2008-10-27 17:28 ` jakub at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: vmakarov at gcc dot gnu dot org @ 2008-10-27 16:22 UTC (permalink / raw) To: gcc-bugs ------- Comment #5 from vmakarov at gcc dot gnu dot org 2008-10-27 16:20 ------- Subject: Bug 37884 Author: vmakarov Date: Mon Oct 27 16:19:25 2008 New Revision: 141383 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141383 Log: 2008-10-27 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37884 * ira-build.c (copy_live_ranges_to_removed_store_destinations): Rename to copy_info_to_removed_store_destinations. Propagate conflict hard regs and register stack attribute. Modified: trunk/gcc/ChangeLog trunk/gcc/ira-build.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug middle-end/37884] [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org ` (6 preceding siblings ...) 2008-10-27 16:22 ` vmakarov at gcc dot gnu dot org @ 2008-10-27 17:28 ` jakub at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: jakub at gcc dot gnu dot org @ 2008-10-27 17:28 UTC (permalink / raw) To: gcc-bugs ------- Comment #6 from jakub at gcc dot gnu dot org 2008-10-27 17:27 ------- Fixed then. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37884 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-10-27 17:28 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-10-21 16:41 [Bug middle-end/37884] New: [4.4 Regression] Bootstrap failure due to miscompilation of tree-vrp.c krebbel at gcc dot gnu dot org 2008-10-21 21:45 ` [Bug middle-end/37884] " rguenth at gcc dot gnu dot org 2008-10-22 3:16 ` mmitchel at gcc dot gnu dot org 2008-10-22 12:53 ` krebbel at gcc dot gnu dot org 2008-10-24 22:23 ` vmakarov at redhat dot com 2008-10-26 6:56 ` hjl at gcc dot gnu dot org 2008-10-27 9:20 ` krebbel at gcc dot gnu dot org 2008-10-27 16:22 ` vmakarov at gcc dot gnu dot org 2008-10-27 17:28 ` jakub at gcc dot gnu dot org
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).