public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch
@ 2012-01-14 13:28 krebbel at gcc dot gnu.org
2012-01-14 13:30 ` [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge krebbel at gcc dot gnu.org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: krebbel at gcc dot gnu.org @ 2012-01-14 13:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
Bug #: 51860
Summary: [4.7 regression] s390 esa mode bootstrap comparison
failure since transactional memory branch
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: bootstrap
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: krebbel@gcc.gnu.org
Since revision r181154 the ESA mode bootstrap fails on s390 with a bootstrap
comparison failure (the daily built builds with --with-mode=zarch).
The c_common_nodes_and_builtins function does seem to have a different size
comparing the two stages.
stage2: 83336 c_common_nodes_and_builtins()
stage3: 83528 c_common_nodes_and_builtins()
I have a closer look next week.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
@ 2012-01-14 13:30 ` krebbel at gcc dot gnu.org
2012-01-15 19:06 ` jakub at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: krebbel at gcc dot gnu.org @ 2012-01-14 13:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
Andreas Krebbel <krebbel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |s390-ibm-linux
Priority|P3 |P1
Host| |s390-ibm-linux
Summary|[4.7 regression] s390 esa |[4.7 regression] s390 esa
|mode bootstrap comparison |mode bootstrap comparison
|failure since transactional |failure since transactional
|memory branch |memory branch merge
Build| |s390-ibm-linux
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
2012-01-14 13:30 ` [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge krebbel at gcc dot gnu.org
@ 2012-01-15 19:06 ` jakub at gcc dot gnu.org
2012-01-15 20:37 ` jakub at gcc dot gnu.org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-15 19:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-01-15
CC| |jakub at gcc dot gnu.org
Target Milestone|--- |4.7.0
Ever Confirmed|0 |1
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-15 19:04:00 UTC ---
I can reproduce it with
CC='gcc -m31' CXX='g++ -m31' s390 ../configure --enable-languages=c,c++,fortran
--with-mode=esa
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
2012-01-14 13:30 ` [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge krebbel at gcc dot gnu.org
2012-01-15 19:06 ` jakub at gcc dot gnu.org
@ 2012-01-15 20:37 ` jakub at gcc dot gnu.org
2012-01-15 20:44 ` krebbel at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-15 20:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-15 20:25:20 UTC ---
Reducing a -fcompare-debug failure on c-common.c with delta.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (2 preceding siblings ...)
2012-01-15 20:37 ` jakub at gcc dot gnu.org
@ 2012-01-15 20:44 ` krebbel at gcc dot gnu.org
2012-01-15 21:23 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: krebbel at gcc dot gnu.org @ 2012-01-15 20:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #3 from Andreas Krebbel <krebbel at gcc dot gnu.org> 2012-01-15 20:37:02 UTC ---
(In reply to comment #2)
> Reducing a -fcompare-debug failure on c-common.c with delta.
Thanks for working on this! I already had a quick look. The problem has to do
with the s390 reorg pass having to split the literal pool. The jump over the
literal pool is placed differently with and without debug info.
There are several places where we still use NEXT_INSN or INSN_P what will be
affected by DEBUG_INSNs being present. I'll track this down tomorrow.
no debug info:
L33: <bb: 48 size: 14 insns: 5>
0x4ff9fc basr r13, r0
0x4ff9fe la r13, 14(r13)
0x4ffa02 basr r14, r12
0x4ffa04 basr r14, r11
0x4ffa06 j L34
<bb: 49 size: 2 insns: 1>
0x4ffa0a nopr r7
L34: <bb: 50 size: 80 insns: 22>
0x4ffb60 lhi r1, 0
0x4ffb64 icm r1, 3, 0(r2)
with debug info:
L33: <bb: 48 size: 18 insns: 6>
0x4ff9fc basr r13, r0
0x4ff9fe la r13, 18(r13)
0x4ffa02 basr r14, r12
0x4ffa04 basr r14, r11
0x4ffa06 lhi r1, 0
0x4ffa0a j L34
<bb: 49 size: 2 insns: 1>
0x4ffa0e nopr r7
L34: <bb: 50 size: 76 insns: 21>
0x4ffb64 icm r1, 3, 0(r2)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (3 preceding siblings ...)
2012-01-15 20:44 ` krebbel at gcc dot gnu.org
@ 2012-01-15 21:23 ` jakub at gcc dot gnu.org
2012-01-16 1:40 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-15 21:23 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-15 21:01:23 UTC ---
Well, DEBUG_INSNs aren't in the stream during the reorg anymore, it is about
the NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION (apparently the
latter in this testcase) in the stream that make the chunkify code insert it at
different spots.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (4 preceding siblings ...)
2012-01-15 21:23 ` jakub at gcc dot gnu.org
@ 2012-01-16 1:40 ` jakub at gcc dot gnu.org
2012-01-16 9:01 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 1:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 00:06:26 UTC ---
Created attachment 26335
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26335
pr51860.ii
Partly reduced testcase.
g++ -O2 -mesa -fcompare-debug pr51860.ii
Unfortunately, delta is quite slow to reduce it even further than this (most
probably because it depends on the inter insn distances to hit the literal pool
insertion at the exact spot).
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (5 preceding siblings ...)
2012-01-16 1:40 ` jakub at gcc dot gnu.org
@ 2012-01-16 9:01 ` jakub at gcc dot gnu.org
2012-01-16 9:27 ` krebbel at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 9:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 07:17:58 UTC ---
Created attachment 26336
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26336
patch
I believe the problem is that INSN_ADDRESSES of the CALL_INSN is different from
INSN_ADDRESSES of the NOTE_INSN_CALL_ARG_LOCATION that follows it (which is
equal to the next insn).
Will look at this in more detail shortly.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (6 preceding siblings ...)
2012-01-16 9:01 ` jakub at gcc dot gnu.org
@ 2012-01-16 9:27 ` krebbel at gcc dot gnu.org
2012-01-16 11:13 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: krebbel at gcc dot gnu.org @ 2012-01-16 9:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #7 from Andreas Krebbel <krebbel at gcc dot gnu.org> 2012-01-16 08:23:56 UTC ---
Regarding the insn address the split is supposed to happen after the call_insn
3059.
But the code I've added to keep the call_arg_location note after the call insn
prevents that:
/* Make sure we do not split between a call and its
corresponding CALL_ARG_LOCATION note. */
if (CALL_P (insn))
{
rtx next = NEXT_INSN (insn);
if (next && NOTE_P (next)
&& NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION)
continue;
}
Then the split should occur just after the call_arg_location note but that code
prevents that:
/* We can insert the barrier only after a 'real' insn. */
if (GET_CODE (insn) != INSN && GET_CODE (insn) != CALL_INSN)
continue;
So the split in fact occurs after the next real insn which is the load zero.
(call_insn 3059 39956 39958 (parallel [
(set (reg:SI 2 %r2)
(call (mem:QI (reg/f:SI 11 %r11 [15205]) [0
identifier_global_value S1 A8])
(const_int 0 [0])))
(clobber (reg:SI 14 %r14))
]) /build/gcc-head/gcc/c-family/c-common.c:5045 576 {*basr_r}
(nil)
(expr_list:REG_CFA_RESTORE (use (reg:SI 2 %r2))
(nil)))
(note 39958 3059 37799 (nil) NOTE_INSN_CALL_ARG_LOCATION)
(insn 37799 39958 44088 (set (reg:SI 1 %r1 [5752])
(const_int 0 [0])) /build/gcc-head/gcc/c-family/c-common.c:5045 67
{*movsi_esa}
(nil))
(jump_insn 44088 37799 44089 (set (pc)
(label_ref 44090)) /build/gcc-head/gcc/c-family/c-common.c:5045 561
{*jump31}
(nil)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (7 preceding siblings ...)
2012-01-16 9:27 ` krebbel at gcc dot gnu.org
@ 2012-01-16 11:13 ` jakub at gcc dot gnu.org
2012-01-16 13:29 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 11:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #26336|0 |1
is obsolete| |
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org
|gnu.org |
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 10:56:39 UTC ---
Created attachment 26337
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26337
gcc47-pr51860.patch
Updated patch. The previous patch still failed on this testcase with
-fcompare-debug failure, while the insns were the same, the jump had different
INSN_LOCATOR, because once it has been taken from the call insn and once from
the note.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (8 preceding siblings ...)
2012-01-16 11:13 ` jakub at gcc dot gnu.org
@ 2012-01-16 13:29 ` jakub at gcc dot gnu.org
2012-01-16 14:16 ` jakub at gcc dot gnu.org
2012-01-16 14:21 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 13:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 13:21:09 UTC ---
The second patch bootstrapped with
CC='gcc -m31' CXX='g++ -m31' s390 ../configure --enable-languages=c,c++,fortran
--with-mode=esa
Running make check now.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (9 preceding siblings ...)
2012-01-16 13:29 ` jakub at gcc dot gnu.org
@ 2012-01-16 14:16 ` jakub at gcc dot gnu.org
2012-01-16 14:21 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 14:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 14:05:59 UTC ---
Author: jakub
Date: Mon Jan 16 14:05:54 2012
New Revision: 183210
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183210
Log:
PR bootstrap/51860
* config/s390/s390.c (s390_chunkify_start): Don't skip
call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip
NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
If insn is followed by NOTE_INSN_VAR_LOCATION or
NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
Don't use location of note insns.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/s390/s390.c
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
` (10 preceding siblings ...)
2012-01-16 14:16 ` jakub at gcc dot gnu.org
@ 2012-01-16 14:21 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-16 14:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51860
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-16 14:10:01 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-01-16 14:10 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-14 13:28 [Bug bootstrap/51860] New: [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch krebbel at gcc dot gnu.org
2012-01-14 13:30 ` [Bug bootstrap/51860] [4.7 regression] s390 esa mode bootstrap comparison failure since transactional memory branch merge krebbel at gcc dot gnu.org
2012-01-15 19:06 ` jakub at gcc dot gnu.org
2012-01-15 20:37 ` jakub at gcc dot gnu.org
2012-01-15 20:44 ` krebbel at gcc dot gnu.org
2012-01-15 21:23 ` jakub at gcc dot gnu.org
2012-01-16 1:40 ` jakub at gcc dot gnu.org
2012-01-16 9:01 ` jakub at gcc dot gnu.org
2012-01-16 9:27 ` krebbel at gcc dot gnu.org
2012-01-16 11:13 ` jakub at gcc dot gnu.org
2012-01-16 13:29 ` jakub at gcc dot gnu.org
2012-01-16 14:16 ` jakub at gcc dot gnu.org
2012-01-16 14:21 ` jakub at gcc dot gnu.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).