[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-12-10 Thread spop at gcc dot gnu dot org


--- Comment #9 from spop at gcc dot gnu dot org  2008-12-11 07:24 ---
Subject: Bug 37883

Author: spop
Date: Thu Dec 11 07:23:02 2008
New Revision: 142673

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142673
Log:
2008-12-11  Sebastian Pop  <[EMAIL PROTECTED]>

Fix testsuite/gfortran.dg/graphite/id-4.f90.
* graphite.c (scan_tree_for_params): Do not compute the multiplicand
when not needed.

2008-12-11  Sebastian Pop  <[EMAIL PROTECTED]>

* graphite.c (build_scops_1): Initialize open_scop.exit
and sinfo.last.

2008-12-11  Sebastian Pop  <[EMAIL PROTECTED]>
Jan Sjodin  <[EMAIL PROTECTED]>
Harsha Jagasia  <[EMAIL PROTECTED]>

PR middle-end/37852
PR middle-end/37883
PR middle-end/37928
PR middle-end/37980
PR middle-end/38038
PR middle-end/38039
PR middle-end/38073
PR middle-end/38083
PR middle-end/38125

* tree-phinodes.c (remove_phi_nodes): New, extracted from...
* tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block):
...here.
* tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
* Makefile.in (graphite.o): Depend on value-prof.h.
(graphite.o-warn): Removed -Wno-error.
* tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list 
to be a NULL pointer.  Call update_stmt.  Return the newly created 
cannonical induction variable.

* graphite.h (debug_rename_map): Declared.  Fix some comments.

* graphite.c: Reimplement the code generation from graphite to gimple.
Include value-prof.h.
(loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
(get_old_iv_from_ssa_name): Removed.
(graphite_stmt_p): New.
(new_graphite_bb): Test for useful statements before building a
graphite statement for the basic block.
(free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without 
reason.
(recompute_all_dominators, graphite_verify,
nb_reductions_in_loop, graphite_loop_normal_form): New.
(scop_record_loop): Call graphite_loop_normal_form.
(build_scop_loop_nests): Iterate over all the blocks of the
function instead of relying on the incomplete information from
SCOP_BBS.  Return the success of the operation.
(find_params_in_bb): Use the data from GBB_DATA_REFS.
(add_bb_domains): Removed.
(build_loop_iteration_domains): Don't call add_bb_domains.
Add the iteration domain only to the basic blocks that have been
translated to graphite.
(build_scop_conditions_1): Add constraints only if the basic
block have been translated to graphite.
(build_scop_data_accesses): Completely disabled until data
dependence is correctly implemented.
(debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
(remove_all_edges_1, remove_all_edges): Removed.
(get_new_name_from_old_name): New.
(graphite_rename_variables_in_stmt): Renamed 
rename_variables_in_stmt.  Call get_new_name_from_old_name.
Use replace_exp and update_stmt.
(is_old_iv): Renamed is_iv.
(expand_scalar_variables_stmt): Extra parameter for renaming map.
Use replace_exp and update_stmt.
(expand_scalar_variables_expr): Same.  Use the map to get the
new names for the renaming of induction variables and for the
renaming of variables after a basic block has been copied.
(expand_scalar_variables): Same.
(graphite_rename_variables): Renamed rename_variables.
(move_phi_nodes): Removed.
(get_false_edge_from_guard_bb): New.
(build_iv_mapping): Do not insert the induction variable of a
loop in the renaming iv map if the basic block does not belong
to that loop.
(register_old_new_names, graphite_copy_stmts_from_block,
copy_bb_and_scalar_dependences): New.
(translate_clast): Heavily reimplemented: copy basic blocks,
do not move them.  Finally, in call cleanup_tree_cfg in gloog.
At each translation step call graphite_verify ensuring the 
consistency of the SSA, loops and dominators information.
(collect_virtual_phis, find_vdef_for_var_in_bb,
find_vdef_for_var_1, find_vdef_for_var,
patch_phis_for_virtual_defs): Removed huge hack.
(mark_old_loops, remove_dead_loops, skip_phi_defs,
collect_scop_exit_phi_args, patch_scop_exit_phi_args,
gbb_can_be_ignored, scop_remove_ignoreable_gbbs, ): Removed.
(remove_sese_region, ifsese, if_region_entry, if_region_exit,
if_region_get_condition_block, if_region_set_false_region,
create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
sese_find_uses_to_rename_use, sese_f

[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-12-08 Thread grosser at gcc dot gnu dot org


--- Comment #8 from grosser at gcc dot gnu dot org  2008-12-08 20:11 ---
Fixed in branch and trunk.
Now fails in trunk on verify_ssa(). This is already solved in branch and will
be imported to trunk soon.

*** This bug has been marked as a duplicate of 37980 ***


-- 

grosser at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||DUPLICATE


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-12-02 Thread spop at gcc dot gnu dot org


--- Comment #7 from spop at gcc dot gnu dot org  2008-12-03 07:35 ---
Subject: Bug 37883

Author: spop
Date: Wed Dec  3 07:33:52 2008
New Revision: 142384

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142384
Log:
2008-12-02  Sebastian Pop  <[EMAIL PROTECTED]>
Jan Sjodin  <[EMAIL PROTECTED]>
Harsha Jagasia  <[EMAIL PROTECTED]>

PR middle-end/37852
PR middle-end/37883
PR middle-end/37928
PR middle-end/37980
PR middle-end/38038
PR middle-end/38039
PR middle-end/38073
PR middle-end/38083
PR middle-end/38125

* testsuite/gcc.dg/graphite/pr38073.c: New.
* testsuite/gcc.dg/graphite/pr37928.c: New.
* testsuite/gcc.dg/graphite/pr37883.c: New.
* testsuite/gcc.dg/graphite/pr38125.c: New.
* testsuite/gfortran.dg/graphite/pr38083.f90: New.
* testsuite/gfortran.dg/graphite/pr37852.f90: New.
* testsuite/gfortran.dg/graphite/pr37980.f90: New.

* testsuite/gcc.dg/graphite/scop-18.c: Remove reduction, test for
the number of detected scops.  Copy exact same test for loop
blocking...
* testsuite/gcc.dg/graphite/block-1.c: Fix the number of expected loops
to be blocked as reductions are not handled.
* testsuite/gcc.dg/graphite/block-4.c: ...here.  New.

* tree-phinodes.c (remove_phi_nodes): New, extracted from...
* tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block):
...here.
* tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
* Makefile.in (graphite.o): Depend on value-prof.h.
(graphite.o-warn): Removed -Wno-error.
* tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list 
to be a NULL pointer.  Call update_stmt.  Return the newly created 
cannonical induction variable.

* graphite.h (debug_rename_map): Declared.  Fix some comments.

* graphite.c: Reimplement the code generation from graphite to gimple.
Include value-prof.h.
(loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
(get_old_iv_from_ssa_name): Removed.
(graphite_stmt_p): New.
(new_graphite_bb): Test for useful statements before building a
graphite statement for the basic block.
(free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without 
reason.
(recompute_all_dominators, graphite_verify,
nb_reductions_in_loop, graphite_loop_normal_form): New.
(scop_record_loop): Call graphite_loop_normal_form.
(build_scop_loop_nests): Iterate over all the blocks of the
function instead of relying on the incomplete information from
SCOP_BBS.  Return the success of the operation.
(find_params_in_bb): Use the data from GBB_DATA_REFS.
(add_bb_domains): Removed.
(build_loop_iteration_domains): Don't call add_bb_domains.
Add the iteration domain only to the basic blocks that have been
translated to graphite.
(build_scop_conditions_1): Add constraints only if the basic
block have been translated to graphite.
(build_scop_data_accesses): Completely disabled until data
dependence is correctly implemented.
(debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
(remove_all_edges_1, remove_all_edges): Removed.
(get_new_name_from_old_name): New.
(graphite_rename_variables_in_stmt): Renamed 
rename_variables_in_stmt.  Call get_new_name_from_old_name.
Use replace_exp and update_stmt.
(is_old_iv): Renamed is_iv.
(expand_scalar_variables_stmt): Extra parameter for renaming map.
Use replace_exp and update_stmt.
(expand_scalar_variables_expr): Same.  Use the map to get the
new names for the renaming of induction variables and for the
renaming of variables after a basic block has been copied.
(expand_scalar_variables): Same.
(graphite_rename_variables): Renamed rename_variables.
(move_phi_nodes): Removed.
(get_false_edge_from_guard_bb): New.
(build_iv_mapping): Do not insert the induction variable of a
loop in the renaming iv map if the basic block does not belong
to that loop.
(register_old_new_names, graphite_copy_stmts_from_block,
copy_bb_and_scalar_dependences): New.
(translate_clast): Heavily reimplemented: copy basic blocks,
do not move them.  Finally, in call cleanup_tree_cfg in gloog.
At each translation step call graphite_verify ensuring the 
consistency of the SSA, loops and dominators information.
(collect_virtual_phis, find_vdef_for_var_in_bb,
find_vdef_for_var_1, find_vdef_for_var,
patch_phis_for_virtual_defs): Removed huge hack.
(mark_old_loops, remove_dead_loops, ski

[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-11-08 Thread grosser at gcc dot gnu dot org


--- Comment #6 from grosser at gcc dot gnu dot org  2008-11-08 19:50 ---
Subject: Bug 37883

Author: grosser
Revision: 141600
Modified property: svn:log

Modified: svn:log at Sat Nov  8 19:50:32 2008
--
--- svn:log (original)
+++ svn:log Sat Nov  8 19:50:32 2008
@@ -1,5 +1,5 @@
 2008-11-05  Tobias Grosser  <[EMAIL PROTECTED]>

-   PR middle-end/37833
+   PR middle-end/37883

* graphite.c (scan_tree_for_params): Add POINTER_PLUS_EXPR.


-- 


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-11-08 Thread grosser at gcc dot gnu dot org


--- Comment #5 from grosser at gcc dot gnu dot org  2008-11-08 19:46 ---
Subject: Bug 37883

Author: grosser
Revision: 141599
Modified property: svn:log

Modified: svn:log at Sat Nov  8 19:46:18 2008
--
--- svn:log (original)
+++ svn:log Sat Nov  8 19:46:18 2008
@@ -1,5 +1,5 @@
 2008-11-05  Tobias Grosser  <[EMAIL PROTECTED]>

-   PR middle-end/37833
+   PR middle-end/37883

* graphite.c (scan_tree_for_params): Add POINTER_PLUS_EXPR.


-- 


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-11-04 Thread sebpop at gmail dot com


--- Comment #4 from sebpop at gmail dot com  2008-11-04 23:34 ---
Subject: Re:  [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

> It seems PLUS_EXPR and POINTER_PLUS_EXPR can really handled identically.
> So I will like to commit this patch.

Yes they should be handled in the same way in this context.
Please install the patch.

Thanks,
Sebastian


-- 


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



Re: [Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-11-04 Thread Sebastian Pop
> It seems PLUS_EXPR and POINTER_PLUS_EXPR can really handled identically.
> So I will like to commit this patch.

Yes they should be handled in the same way in this context.
Please install the patch.

Thanks,
Sebastian


[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-11-04 Thread grosser at gcc dot gnu dot org


--- Comment #3 from grosser at gcc dot gnu dot org  2008-11-04 18:25 ---
It seems PLUS_EXPR and POINTER_PLUS_EXPR can really handled identically.
So I will like to commit this patch.


-- 


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-10-30 Thread grosser at gcc dot gnu dot org


-- 

grosser at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |grosser at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-10-30 04:10:22 |2008-10-30 13:51:37
   date||


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-10-30 Thread grosser at gcc dot gnu dot org


--- Comment #2 from grosser at gcc dot gnu dot org  2008-10-30 13:51 ---
Created an attachment (id=16588)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16588&action=view)
Add POINTER_PLUS_EXPR - Improvement?

It seems we miss the POINTER_PLUS_EXPR. In most cases in tree-scalar-evol.c and
tree-chrec.c it is handled like a PLUS_EXPR. If I add it, the test case passes
the front end, but fails again in gloog() with:
#0  0x089d919f in link_imm_use (linknode=0x29072c4c, def=0x20017) at
tree-flow-inline.h:323
#1  0x089d914e in set_ssa_use_from_ptr (use=0x29072c4c, val=0x20017) at
tree-flow-inline.h:342
#2  0x089d9097 in graphite_rename_variables_in_stmt (stmt=0x29060528,
map=0x8d8b040)
at ../../../git/gcc/graphite.c:3512
#3  0x089d9b89 in graphite_rename_variables (bb=0x29060618, map=0x8d8b040)
at ../../../git/gcc/graphite.c:3685
#4  0x089da177 in translate_clast (scop=0x8d321c0, context_loop=0x29100948,
stmt=0x8d8a350, 
next_e=0x290c2988, ivstack=0xbfbfe880) at ../../../git/gcc/graphite.c:3816
#5  0x089d9fbd in translate_clast (scop=0x8d321c0, context_loop=0x29100948,
stmt=0x8d8a110, 
next_e=0x290c25c8, ivstack=0xbfbfe880) at ../../../git/gcc/graphite.c:3781


I will have to think about the patch. Opinions?


-- 


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-10-29 Thread grosser at gcc dot gnu dot org


-- 

grosser at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-10-30 04:10:22
   date||


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



[Bug middle-end/37883] [graphite] ICE : in scan_tree_for_params, at graphite.c:2274

2008-10-21 Thread mitul dot thakkar at amd dot com


--- Comment #1 from mitul dot thakkar at amd dot com  2008-10-21 16:10 
---
Created an attachment (id=16520)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16520&action=view)
Reduced Test Case


-- 


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