[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-18 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

--- Comment #5 from Andreas Krebbel krebbel at gcc dot gnu.org 2012-06-18 
07:09:04 UTC ---
(In reply to comment #4)
 I don't see how r187965 could cause this, but I do see the problem.
 mark_sym_for_renaming (called via the s390 va_arg_expr expander) is called
 during, well, gimplification from GENERIC.  At that point SSA isn't
 initialized yet, so cfun-gimple_df is still NULL, and so SYMS_TO_RENAME
 gives a segfault.
 
 You either have to guard the call to mark_sym_for_renaming with
 gimple_in_ssa_p(), or get rid of the call alltogether.  I don't see how
 new va_arg expressions would be generated during SSA optimizers, so the latter
 solution would be safe.  No other backend calls mark_sym_for_renaming either,
 so just remove it.

?! You appear to have added the call to mark_sym_for_renaming with your patch.
Since it isn't mentioned in the changelog perhaps it is a leftover from
something else in your tree? So the solution is to revert that change?

svn diff -r 187964:187965 gcc/config/s390/s390.c
Index: gcc/config/s390/s390.c
===
--- gcc/config/s390/s390.c  (revision 187964)
+++ gcc/config/s390/s390.c  (revision 187965)
@@ -9044,6 +9044,7 @@
   lab_false = create_artificial_label (UNKNOWN_LOCATION);
   lab_over = create_artificial_label (UNKNOWN_LOCATION);
   addr = create_tmp_var (ptr_type_node, addr);
+  mark_sym_for_renaming (addr);

   t = fold_convert (TREE_TYPE (reg), size_int (max_reg));
   t = build2 (GT_EXPR, boolean_type_node, reg, t);


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-18 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

--- Comment #6 from rguenther at suse dot de rguenther at suse dot de 
2012-06-18 08:24:51 UTC ---
On Mon, 18 Jun 2012, krebbel at gcc dot gnu.org wrote:

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681
 
 --- Comment #5 from Andreas Krebbel krebbel at gcc dot gnu.org 2012-06-18 
 07:09:04 UTC ---
 (In reply to comment #4)
  I don't see how r187965 could cause this, but I do see the problem.
  mark_sym_for_renaming (called via the s390 va_arg_expr expander) is called
  during, well, gimplification from GENERIC.  At that point SSA isn't
  initialized yet, so cfun-gimple_df is still NULL, and so SYMS_TO_RENAME
  gives a segfault.
  
  You either have to guard the call to mark_sym_for_renaming with
  gimple_in_ssa_p(), or get rid of the call alltogether.  I don't see how
  new va_arg expressions would be generated during SSA optimizers, so the 
  latter
  solution would be safe.  No other backend calls mark_sym_for_renaming 
  either,
  so just remove it.
 
 ?! You appear to have added the call to mark_sym_for_renaming with your patch.
 Since it isn't mentioned in the changelog perhaps it is a leftover from
 something else in your tree? So the solution is to revert that change?
 
 svn diff -r 187964:187965 gcc/config/s390/s390.c
 Index: gcc/config/s390/s390.c
 ===
 --- gcc/config/s390/s390.c  (revision 187964)
 +++ gcc/config/s390/s390.c  (revision 187965)
 @@ -9044,6 +9044,7 @@
lab_false = create_artificial_label (UNKNOWN_LOCATION);
lab_over = create_artificial_label (UNKNOWN_LOCATION);
addr = create_tmp_var (ptr_type_node, addr);
 +  mark_sym_for_renaming (addr);

I think that change is indeed bogus as-is, if you ever call this
when we are in SSA form you'd need that call, but you need to guard
it with if (gimple_in_ssa_p (cfun)).

But I'm sure we never gimplify va-arg stuff when in SSA form.

Richard.


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-18 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #7 from Andreas Krebbel krebbel at gcc dot gnu.org 2012-06-18 
11:06:39 UTC ---
(In reply to comment #6)
Ok. I've reverted the s390.c bits of r187965.


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-18 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Michael Matz matz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |

--- Comment #8 from Michael Matz matz at gcc dot gnu.org 2012-06-18 11:08:49 
UTC ---
(In reply to comment #5)
 ?! You appear to have added the call to mark_sym_for_renaming with your patch.

Yikes!

 Since it isn't mentioned in the changelog perhaps it is a leftover from
 something else in your tree? So the solution is to revert that change?

Yes, it was an unintended change (it must have been in my dev tree quite long,
I don't remember doing it).  It seems I haven't reviewed the file list
of my commit message :-/  Sorry about that breakage.


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-18 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Michael Matz matz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |
 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #8 from Michael Matz matz at gcc dot gnu.org 2012-06-18 11:08:49 
UTC ---
(In reply to comment #5)
 ?! You appear to have added the call to mark_sym_for_renaming with your patch.

Yikes!

 Since it isn't mentioned in the changelog perhaps it is a leftover from
 something else in your tree? So the solution is to revert that change?

Yes, it was an unintended change (it must have been in my dev tree quite long,
I don't remember doing it).  It seems I haven't reviewed the file list
of my commit message :-/  Sorry about that breakage.

--- Comment #9 from Michael Matz matz at gcc dot gnu.org 2012-06-18 11:09:28 
UTC ---
.


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-15 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Andreas Krebbel krebbel at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||krebbel at gcc dot gnu.org,
   ||matz at suse dot de


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-15 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 CC||rguenth at gcc dot gnu.org

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-06-15 
08:26:17 UTC ---
This is an ice-on-invalid - how can that break bootstrap?


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-15 Thread krebbel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

--- Comment #2 from Andreas Krebbel krebbel at gcc dot gnu.org 2012-06-15 
08:30:21 UTC ---
(In reply to comment #1)
 This is an ice-on-invalid - how can that break bootstrap?

delta was a bit too eager. Same happens with:

int
__gcov_execle (const char *path, char *arg, ...)
{
  int length = 0;

  __builtin_va_list ap, aq;
  while (__builtin_va_arg (ap, char *))
  length++;
}


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-15 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-06-15 
08:42:03 UTC ---
When delta reducing ICE on valid, it is always better to add to a script second
compilation (perhaps with -O0 for speed) using some compiler where it initially
compiles fine to make sure delta doesn't turn ice-on-valid into ice-on-invalid.


[Bug bootstrap/53681] s390 bootstrap failure since 187965

2012-06-15 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53681

Michael Matz matz at gcc dot gnu.org changed:

   What|Removed |Added

 CC||matz at gcc dot gnu.org

--- Comment #4 from Michael Matz matz at gcc dot gnu.org 2012-06-15 14:21:05 
UTC ---
I don't see how r187965 could cause this, but I do see the problem.
mark_sym_for_renaming (called via the s390 va_arg_expr expander) is called
during, well, gimplification from GENERIC.  At that point SSA isn't
initialized yet, so cfun-gimple_df is still NULL, and so SYMS_TO_RENAME
gives a segfault.

You either have to guard the call to mark_sym_for_renaming with
gimple_in_ssa_p(), or get rid of the call alltogether.  I don't see how
new va_arg expressions would be generated during SSA optimizers, so the latter
solution would be safe.  No other backend calls mark_sym_for_renaming either,
so just remove it.