[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-04-27 Thread kargl at gcc dot gnu dot org


--- Comment #27 from kargl at gcc dot gnu dot org  2007-04-28 05:14 ---
Subject: Bug 29922

Author: kargl
Date: Sat Apr 28 05:11:29 2007
New Revision: 124256

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=124256
Log:
Merged revisions 123029-123122 via svnmerge from 
svn+ssh://[EMAIL PROTECTED]/svn/gcc/trunk


  r123029 | dberlin | 2007-03-17 16:07:34 -0700 (Sat, 17 Mar 2007) | 17 lines

  2007-03-16  Daniel Berlin  [EMAIL PROTECTED]

Fix PR tree-optimization/29922
* tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members.
(get_representative): Removed.
(value_dies_in_block_x): Update for rvuse removal.
(valid_in_sets): Update for renaming of vuses_dies_in_block_x.
(compute_antic_aux): Handle when PHI nodes appear in
non-single-successors. 
(dump_bitmap_of_names): Removed.
(compute_antic_safe): Renamed and removed rvuse calculation.
Calculate only antic safe.
(insert_into_preds_of_block): Remove assert.
(execute_pre): Update for renamed functions.
(defer_or_phi_translate_block): New function.

  r123032 | gccadmin | 2007-03-17 17:17:18 -0700 (Sat, 17 Mar 2007) | 1 line

  Daily bump.

  r123034 | dorit | 2007-03-17 21:37:32 -0700 (Sat, 17 Mar 2007) | 5 lines

  * tree-vect-transform.c (get_initial_def_for_induction): Replace
  GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS.
  (get_initial_def_for_reduction): Likewise.

  r123035 | schwab | 2007-03-18 04:17:44 -0700 (Sun, 18 Mar 2007) | 4 lines

* acinclude.m4: Adjust regular expression for ld version
extraction.
* configure: Regenerate.

  r123037 | pault | 2007-03-18 08:00:55 -0700 (Sun, 18 Mar 2007) | 26 lines

  2007-03-18  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30531
PR fortran/31086
* symbo.c : Add gfc_derived_types.
(gfc_free_dt_list): Free derived type list gfc_derived_types.
(gfc_free_namespace): Remove call to gfc_free_dt_list.
(gfc_symbol_done_2): Call  gfc_free_dt_list.
* gfortran.h : Declare gfc_derived_types to be external. Remove
derived types field from gfc_namespace.
* resolve.c (resolve_fl_derived): Refer to gfc_derived types
rather than namespace derived_types.
(resolve_fntype): Remove special treatment for module
derived type functions.
* trans-types.c (gfc_get_derived_type): Remove search for like
derived types.  Finish by copying back end declaration to like
derived types in the derived type list gfc_derived_types.

  2007-03-18  Paul Thomas  [EMAIL PROTECTED]

PR fortran/30531
* gfortran.dg/used_types_14.f90: New test.

PR fortran/31086
* gfortran.dg/used_types_15.f90: New test.

  r123038 | jvdelisle | 2007-03-18 11:13:50 -0700 (Sun, 18 Mar 2007) | 12 lines

  2007-03-18  Jerry DeLisle  [EMAIL PROTECTED]

PR libgfortran/31052
* io/file_position (st_rewind): Fix comments. Remove use of
test_endfile. Don't seek if already at 0 position.  Use new is_special
function to set endfile state.
* io/open.c (test_endfile): Delete this function.
* io/io.h: Delete prototype for test_endfile.  Add prototype
for is_special.
* io/unix.c (is_special): New function. Fix whitespace.
* io/transfer.c (next_record_r): Remove use of test_endfile.

  r123039 | jvdelisle | 2007-03-18 11:17:24 -0700 (Sun, 18 Mar 2007) | 5 lines

  2007-03-18  Jerry DeLisle  [EMAIL PROTECTED]

PR libgfortran/31052
* gfortran.dg/namelist_27.f90: New test.

  r123040 | danglin | 2007-03-18 12:13:17 -0700 (Sun, 18 Mar 2007) | 4 lines

PR testsuite/30395
* gcc.dg/pr16194.c: Provide define for REG on __hppa__.

  r123041 | danglin | 2007-03-18 12:47:43 -0700 (Sun, 18 Mar 2007) | 7 lines

* pa.md: Add fpstore_load and store_fpload instruction types.  Provide
reservation, bypass and anti-bypass descriptions for these
instructions.
Update move patterns.
* pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and
TYPE_FPSTORE.


  r123042 | mmitchel | 2007-03-18 15:35:39 -0700 (Sun, 18 Mar 2007) | 20 lines

* libsupc++/array_type_info.cc: Likewise.
* libsupc++/bad_cast.cc: Likewise.
* libsupc++/bad_typeid.cc: Likewise.
* libsupc++/class_type_info.cc: Likewise.
* libsupc++/dyncast.cc: Likewise.
* libsupc++/enum_type_info.cc: Likewise.
* libsupc++/function_type_info.cc: Likewise.
* libsupc++/fundamental_type_info.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pmem_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/si_class_type_info.cc: Likewise.
* libsupc++/vmi_class_type_info.cc: Likewise.

[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-17 Thread dberlin at gcc dot gnu dot org


--- Comment #24 from dberlin at gcc dot gnu dot org  2007-03-17 23:07 
---
Subject: Bug 29922

Author: dberlin
Date: Sat Mar 17 23:07:34 2007
New Revision: 123029

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=123029
Log:
2007-03-16  Daniel Berlin  [EMAIL PROTECTED]

Fix PR tree-optimization/29922
* tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members.
(get_representative): Removed.
(value_dies_in_block_x): Update for rvuse removal.
(valid_in_sets): Update for renaming of vuses_dies_in_block_x.
(compute_antic_aux): Handle when PHI nodes appear in
non-single-successors. 
(dump_bitmap_of_names): Removed.
(compute_antic_safe): Renamed and removed rvuse calculation.
Calculate only antic safe.
(insert_into_preds_of_block): Remove assert.
(execute_pre): Update for renamed functions.
(defer_or_phi_translate_block): New function.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/loadpre12.c
trunk/gcc/tree-ssa-pre.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-17 Thread tbm at cyrius dot com


--- Comment #25 from tbm at cyrius dot com  2007-03-17 23:16 ---
Thanks, Danny!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-17 Thread dberlin at gcc dot gnu dot org


--- Comment #26 from dberlin at gcc dot gnu dot org  2007-03-17 23:18 
---
Sorry for the delay.
Fixed now.


-- 

dberlin at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-10 Thread Jean-pierre dot vial at wanadoo dot fr


--- Comment #23 from Jean-pierre dot vial at wanadoo dot fr  2007-03-10 
08:48 ---
the two test files from the LAPACK library
dget33.f and sget33.f whose compilation with gfortran failed
with -O3 optmisation are now compiled without error or warning.
tested with gfortran 4.3 experimental (svn) dated 20070309 and 20070222


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-09 Thread dberlin at gcc dot gnu dot org


--- Comment #20 from dberlin at gcc dot gnu dot org  2007-03-09 17:55 
---
Uh, i think i accidentally fixed the reduced testcase with my recent alias
patch (r122741).
Are the others still failing?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-09 Thread tbm at cyrius dot com


--- Comment #21 from tbm at cyrius dot com  2007-03-09 19:28 ---
(In reply to comment #20)
 Uh, i think i accidentally fixed the reduced testcase with my recent alias
 patch (r122741).
 Are the others still failing?

Yes, conf.i is still failing at -O2


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-09 Thread tbm at cyrius dot com


--- Comment #22 from tbm at cyrius dot com  2007-03-09 19:34 ---
Testcase based on conf.i:

struct symbol
{
  char *help;
};
struct menu
{
  struct menu *next;
  struct menu *list;
  struct symbol *sym;
};
enum
{
  ask_all,
}
input_mode = ask_all;
static char line[128];
static char nohelp_text[] =
  (Sorry, no help available for this option yet.\n);
conf_choice (struct menu *menu)
{
  struct menu *child;
  while (1)
{
  int cnt, def;
conf_childs:for (child = menu-list; child; child = child-next)
{
  if (!child-sym || !menu_is_visible (child))
  if (!--cnt)
break;
}
  if (!child)
continue;
  if (line[strlen (line) - 1] == '?')
{
  printf (\n%s\n, child-sym-help ? child-sym-help : );
  continue;
}
  return 1;
}
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-03-05 Thread tbm at cyrius dot com


--- Comment #19 from tbm at cyrius dot com  2007-03-05 10:13 ---
 I will try to get back to this bug this week. I was fighting some
 other fights last week, i apologize.

Danny, any update on this?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-02-09 Thread pinskia at gcc dot gnu dot org


--- Comment #18 from pinskia at gcc dot gnu dot org  2007-02-09 19:00 
---
*** Bug 30713 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ray at ultramarine dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2007-01-11 Thread pinskia at gcc dot gnu dot org


--- Comment #17 from pinskia at gcc dot gnu dot org  2007-01-11 18:28 
---
*** Bug 30441 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||Jean-pierre dot vial at
   ||wanadoo dot fr


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-12-19 Thread kargl at gcc dot gnu dot org


--- Comment #15 from kargl at gcc dot gnu dot org  2006-12-19 21:55 ---
Just a note here.  My recent compilation of LAPACK with gfortran has stumbled
onto to this bug.

gfc -w -c -O3 -march=opteron -funroll-loops -ftree-vectorize \
-I/home/kargl/opt/modules sget33.f
sget33.f: In function 'sget33':
sget33.f:1: internal compiler error: in insert_into_preds_of_block, at
tree-ssa-pre.c:2750
Please submit a full bug report,


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



Re: [Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-12-19 Thread Daniel Berlin

I will try to get back to this bug this week. I was fighting some
other fights last week, i apologize.


[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-12-19 Thread dberlin at dberlin dot org


--- Comment #16 from dberlin at gcc dot gnu dot org  2006-12-20 02:55 
---
Subject: Re:  [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

I will try to get back to this bug this week. I was fighting some
other fights last week, i apologize.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-12-18 Thread pinskia at gcc dot gnu dot org


--- Comment #14 from pinskia at gcc dot gnu dot org  2006-12-18 09:33 
---
*** Bug 30244 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-12-15 Thread pinskia at gcc dot gnu dot org


--- Comment #13 from pinskia at gcc dot gnu dot org  2006-12-15 22:08 
---
*** Bug 30227 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-11-27 Thread pinskia at gcc dot gnu dot org


--- Comment #11 from pinskia at gcc dot gnu dot org  2006-11-27 08:06 
---
Here is the patch which fixes the PHI issue but I don't know if it will always
fix the PRE issue but I think it will as the PRE issue is always with VOPs:
Index: tree-ssa-dom.c
===
--- tree-ssa-dom.c  (revision 119245)
+++ tree-ssa-dom.c  (working copy)
@@ -1700,8 +1700,10 @@ cprop_operand (tree stmt, use_operand_p
 depth than the propagatee.  Otherwise, this may move loop variant
 variables outside of their loops and prevent coalescing
 opportunities.  If the value was loop invariant, it will be hoisted
-by LICM and exposed for copy propagation.  */
-  if (loop_depth_of_name (val)  loop_depth_of_name (op))
+by LICM and exposed for copy propagation.  We don't care much about
+ virtual operands.  */
+  if (loop_depth_of_name (val)  loop_depth_of_name (op)
+  is_gimple_reg (val))
return false;

   /* Dump details.  */
@@ -2136,12 +2138,13 @@ static void
 propagate_rhs_into_lhs (tree stmt, tree lhs, tree rhs, bitmap
interesting_names)
 {
   /* First verify that propagation is valid and isn't going to move a
- loop variant variable outside its loop.  */
+ loop variant variable outside its loop except for vops.  */
   if (! SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)
(TREE_CODE (rhs) != SSA_NAME
  || ! SSA_NAME_OCCURS_IN_ABNORMAL_PHI (rhs))
may_propagate_copy (lhs, rhs)
-   loop_depth_of_name (lhs) = loop_depth_of_name (rhs))
+   (loop_depth_of_name (lhs)  loop_depth_of_name (rhs)
+ || !is_gimple_reg (lhs)))
 {
   use_operand_p use_p;
   imm_use_iterator iter;
Index: tree-ssa-copy.c
===
--- tree-ssa-copy.c (revision 119245)
+++ tree-ssa-copy.c (working copy)
@@ -801,8 +801,10 @@ copy_prop_visit_phi_node (tree phi)
 Otherwise, this may move loop variant variables outside of
 their loops and prevent coalescing opportunities.  If the
 value was loop invariant, it will be hoisted by LICM and
-exposed for copy propagation.  */
-  if (loop_depth_of_name (arg)  loop_depth_of_name (lhs))
+exposed for copy propagation.  We don't much about virtual
+operands as they don't cause any LICM to happen.  */
+  if (loop_depth_of_name (arg)  loop_depth_of_name (lhs)
+  is_gimple_reg (arg))
{
  phi_val.value = lhs;
  break;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



Re: [Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-11-27 Thread Andrew Pinski
On Mon, 2006-11-27 at 08:06 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #11 from pinskia at gcc dot gnu dot org  2006-11-27 08:06 
 ---
 Here is the patch which fixes the PHI issue but I don't know if it will always
 fix the PRE issue but I think it will as the PRE issue is always with VOPs:

I am hiding a PRE bug but there is no reason for these PHIs to be there
anyways as far as I can tell so I am still going to submit my patch for
the PHIs but will keep this bug opened.

Thanks,
Andrew Pinski



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-11-27 Thread pinskia at gmail dot com


--- Comment #12 from pinskia at gmail dot com  2006-11-27 17:23 ---
Subject: Re:  [4.3 Regression] [Linux] ICE in
insert_into_preds_of_block

On Mon, 2006-11-27 at 08:06 +, pinskia at gcc dot gnu dot org wrote:
 
 --- Comment #11 from pinskia at gcc dot gnu dot org  2006-11-27 08:06 
 ---
 Here is the patch which fixes the PHI issue but I don't know if it will always
 fix the PRE issue but I think it will as the PRE issue is always with VOPs:

I am hiding a PRE bug but there is no reason for these PHIs to be there
anyways as far as I can tell so I am still going to submit my patch for
the PHIs but will keep this bug opened.

Thanks,
Andrew Pinski


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-11-26 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2006-11-27 07:51 
---
(In reply to comment #9)
 Though the good question is why we have those PHIs still there even though 
 they
 don't do anything except produce a copy.  All the copyprop passes as far as I
 can tell skip them because they are virtual.

The reason why they still exist is because they have a loop variant on the
arugment which causes us to reject it during copyprop (and during dom).  I have
a patch to remove the conditional on virtual operands but I don't know if this
is enough to make sure we never produce this type of PHIs again.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922



[Bug tree-optimization/29922] [4.3 Regression] [Linux] ICE in insert_into_preds_of_block

2006-11-25 Thread pinskia at gcc dot gnu dot org


--- Comment #9 from pinskia at gcc dot gnu dot org  2006-11-25 09:13 ---
(gdb) p debug_generic_expr (vh)
VH.22
$4 = void
(gdb) p debug_generic_expr (eprime)
strlen (lineD.1610)
(gdb) p debug_generic_expr (vuse)
lineD.1610_11

We have:
  # NONLOCAL.5_14 = PHI NONLOCAL.5_18(5);
  # line_11 = PHI line_17(5);
L4:;
  #   VUSE line_11;
  #   VUSE NONLOCAL.5_14;
  D.1623_6 = strlen (line);
  if (D.1623_6 == 100) goto L6; else goto L7;

Though the good question is why we have those PHIs still there even though they
don't do anything except produce a copy.  All the copyprop passes as far as I
can tell skip them because they are virtual.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29922