[lno] Copying loop headers over ssa
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Thu Feb 12 11:37:00 GMT 2004
Hello,
while trying to make loop header copying work on tree-ssa-branch (still
it does not, since it seems to have a great potential for finding latent
bugs), I have noticed that it is neccessary to perform the optimization
after at least one dominator optimization pass in order to prevent
missing redundancy elimination opportunities.
I had to update most of the scev tests to reflect this -- the current
system of checking results of these tests is very fragile, since any
optimization that causes change of ssa versions breaks it.
Zdenek
Index: ChangeLog.lno
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/ChangeLog.lno,v
retrieving revision 1.1.2.51
diff -c -3 -p -r1.1.2.51 ChangeLog.lno
*** ChangeLog.lno 10 Feb 2004 20:19:05 -0000 1.1.2.51
--- ChangeLog.lno 12 Feb 2004 09:18:57 -0000
***************
*** 1,3 ****
--- 1,12 ----
+ 2004-02-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * tree-optimize.c (init_tree_optimization_passes): Move ch after
+ the first dominator optimization pass.
+ * tree-ssa-loop.c (should_duplicate_loop_header_p,
+ copy_loop_headers): Work over ssa.
+ (pass_ch): Require and update ssa form.
+ (mark_defs_for_rewrite, duplicate_blocks): New.
+
2004-02-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* tree-ssa-loop-ivopts.c (for_each_index, prepare_decl_rtl,
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 1.1.4.98.2.8
diff -c -3 -p -r1.1.4.98.2.8 tree-optimize.c
*** tree-optimize.c 29 Jan 2004 18:36:34 -0000 1.1.4.98.2.8
--- tree-optimize.c 12 Feb 2004 09:18:57 -0000
*************** init_tree_optimization_passes (void)
*** 276,288 ****
p = &pass_all_optimizations.sub;
NEXT_PASS (pass_build_cfg);
- NEXT_PASS (pass_ch);
NEXT_PASS (pass_referenced_vars);
NEXT_PASS (pass_build_pta);
NEXT_PASS (pass_build_ssa);
NEXT_PASS (pass_dce);
NEXT_PASS (pass_dominator);
NEXT_PASS (DUP_PASS (pass_dce));
NEXT_PASS (pass_may_alias);
NEXT_PASS (pass_del_pta);
NEXT_PASS (pass_profile);
--- 276,288 ----
p = &pass_all_optimizations.sub;
NEXT_PASS (pass_build_cfg);
NEXT_PASS (pass_referenced_vars);
NEXT_PASS (pass_build_pta);
NEXT_PASS (pass_build_ssa);
NEXT_PASS (pass_dce);
NEXT_PASS (pass_dominator);
NEXT_PASS (DUP_PASS (pass_dce));
+ NEXT_PASS (pass_ch);
NEXT_PASS (pass_may_alias);
NEXT_PASS (pass_del_pta);
NEXT_PASS (pass_profile);
Index: tree-ssa-loop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-loop.c,v
retrieving revision 1.1.2.3.2.9
diff -c -3 -p -r1.1.2.3.2.9 tree-ssa-loop.c
*** tree-ssa-loop.c 5 Feb 2004 01:49:33 -0000 1.1.2.3.2.9
--- tree-ssa-loop.c 12 Feb 2004 09:18:57 -0000
*************** tree_ssa_loop_opt (void)
*** 76,83 ****
--- 76,105 ----
}
}
+ static bool
+ gate_loop (void)
+ {
+ return flag_tree_loop != 0;
+ }
+
+ struct tree_opt_pass pass_loop =
+ {
+ "loop", /* name */
+ gate_loop, /* gate */
+ tree_ssa_loop_opt, /* execute */
+ NULL, /* sub */
+ NULL, /* next */
+ 0, /* static_pass_number */
+ TV_TREE_LOOP, /* tv_id */
+ PROP_cfg, /* properties_required */
+ 0, /* properties_provided */
+ 0, /* properties_destroyed */
+ 0, /* todo_flags_start */
+ TODO_dump_func | TODO_verify_ssa /* todo_flags_finish */
+ };
/* Checks whether the STMT is a call, and if so, returns the call_expr. */
+
static tree
call_expr_p (tree stmt)
{
*************** call_expr_p (tree stmt)
*** 87,103 ****
return TREE_CODE (stmt) == CALL_EXPR ? stmt : NULL_TREE;
}
! /* Check whether we should duplicate header of LOOP. At most *LIMIT
instructions should be duplicated, limit is decreased by the actual
amount. */
static bool
! should_duplicate_loop_header_p (struct loop *loop, int *limit)
{
block_stmt_iterator bsi;
- basic_block header = loop->header;
tree last;
if (!header->succ)
abort ();
if (!header->succ->succ_next)
--- 109,130 ----
return TREE_CODE (stmt) == CALL_EXPR ? stmt : NULL_TREE;
}
! /* Check whether we should duplicate HEADER of LOOP. At most *LIMIT
instructions should be duplicated, limit is decreased by the actual
amount. */
static bool
! should_duplicate_loop_header_p (basic_block header, struct loop *loop,
! int *limit)
{
block_stmt_iterator bsi;
tree last;
+ /* Do not copy one block more than once (we do not really want to do
+ loop peeling here). */
+ if (header->aux)
+ return false;
+
if (!header->succ)
abort ();
if (!header->succ->succ_next)
*************** should_duplicate_loop_header_p (struct l
*** 108,113 ****
--- 135,146 ----
&& flow_bb_inside_loop_p (loop, header->succ->succ_next->dest))
return false;
+ /* If this is not the original loop header, we want it to have just
+ one predecessor in order to match the && pattern. */
+ if (header != loop->header
+ && header->pred->pred_next)
+ return false;
+
last = last_stmt (header);
if (TREE_CODE (last) != COND_EXPR)
return false;
*************** should_duplicate_loop_header_p (struct l
*** 132,137 ****
--- 165,279 ----
return true;
}
+ /* Marks variables defined in basic block BB for rewriting. */
+
+ static void
+ mark_defs_for_rewrite (basic_block bb)
+ {
+ tree stmt, var;
+ block_stmt_iterator bsi;
+ stmt_ann_t ann;
+ def_optype defs;
+ vdef_optype vdefs;
+ vuse_optype vuses;
+ unsigned i;
+
+ for (stmt = phi_nodes (bb); stmt; stmt = TREE_CHAIN (stmt))
+ {
+ var = SSA_NAME_VAR (PHI_RESULT (stmt));
+ bitmap_set_bit (vars_to_rename, var_ann (var)->uid);
+ }
+
+ for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
+ {
+ stmt = bsi_stmt (bsi);
+ get_stmt_operands (stmt);
+ ann = stmt_ann (stmt);
+
+ defs = DEF_OPS (ann);
+ for (i = 0; i < NUM_DEFS (defs); i++)
+ {
+ var = SSA_NAME_VAR (DEF_OP (defs, i));
+ bitmap_set_bit (vars_to_rename, var_ann (var)->uid);
+ }
+
+ vdefs = VDEF_OPS (ann);
+ for (i = 0; i < NUM_VDEFS (vdefs); i++)
+ {
+ var = SSA_NAME_VAR (VDEF_RESULT (vdefs, i));
+ bitmap_set_bit (vars_to_rename, var_ann (var)->uid);
+ }
+
+ /* We also need to rewrite vuses, since we will copy the statements
+ and the ssa versions could not be recovered in the copy. */
+ vuses = VUSE_OPS (ann);
+ for (i = 0; i < NUM_VUSES (vuses); i++)
+ {
+ var = SSA_NAME_VAR (VUSE_OP (vuses, i));
+ bitmap_set_bit (vars_to_rename, var_ann (var)->uid);
+ }
+ }
+ }
+
+ /* Duplicates destinations of edges in BBS_TO_DUPLICATE. */
+
+ static void
+ duplicate_blocks (varray_type bbs_to_duplicate)
+ {
+ unsigned i;
+ edge preheader_edge, e, e1;
+ basic_block header, new_header;
+ tree phi;
+ size_t old_num_referenced_vars = num_referenced_vars;
+
+ for (i = 0; i < VARRAY_ACTIVE_SIZE (bbs_to_duplicate); i++)
+ {
+ preheader_edge = VARRAY_GENERIC_PTR_NOGC (bbs_to_duplicate, i);
+ header = preheader_edge->dest;
+
+ mark_defs_for_rewrite (header);
+ }
+
+ rewrite_vars_out_of_ssa (vars_to_rename);
+
+ for (i = old_num_referenced_vars; i < num_referenced_vars; i++)
+ {
+ bitmap_set_bit (vars_to_rename, i);
+ var_ann (referenced_var (i))->out_of_ssa_tag = 0;
+ }
+
+ for (i = 0; i < VARRAY_ACTIVE_SIZE (bbs_to_duplicate); i++)
+ {
+ preheader_edge = VARRAY_GENERIC_PTR_NOGC (bbs_to_duplicate, i);
+ header = preheader_edge->dest;
+
+ /* We might have split the edge into the loop header when we have
+ eliminated the phi nodes, so find the edge to that we want to
+ copy the header. */
+ while (!header->aux)
+ {
+ preheader_edge = header->succ;
+ header = preheader_edge->dest;
+ }
+ header->aux = NULL;
+
+ new_header = duplicate_block (header, preheader_edge);
+
+ /* Add the phi arguments to the outgoing edges. */
+ for (e = header->succ; e; e = e->succ_next)
+ {
+ for (e1 = new_header->succ; e1->dest != e->dest; e1 = e1->succ_next)
+ continue;
+
+ for (phi = phi_nodes (e->dest); phi; phi = TREE_CHAIN (phi))
+ {
+ tree def = phi_element_for_edge (phi, e)->def;
+ add_phi_arg (&phi, def, e1);
+ }
+ }
+ }
+ }
+
/* For all loops, copy the condition at the end of the loop body in front
of the loop. */
*************** copy_loop_headers (void)
*** 141,148 ****
struct loops *loops;
unsigned i;
struct loop *loop;
! basic_block header_copy, preheader, new_header;
! edge preheader_edge, succ_in_loop;
loops = loop_optimizer_init (tree_dump_file);
if (!loops)
--- 283,291 ----
struct loops *loops;
unsigned i;
struct loop *loop;
! basic_block header;
! edge preheader_edge;
! varray_type bbs_to_duplicate = NULL;
loops = loop_optimizer_init (tree_dump_file);
if (!loops)
*************** copy_loop_headers (void)
*** 167,217 ****
int limit = 20;
loop = loops->parray[i];
/* Iterate the header copying up to limit; this takes care of the cases
like while (a && b) {...}, where we want to have both of the conditions
! copied. */
! while (should_duplicate_loop_header_p (loop, &limit))
{
! preheader_edge = loop_preheader_edge (loop);
! preheader = preheader_edge->src;
/* Find a successor of header that is inside a loop; i.e. the new
header after the condition is copied. */
! if (flow_bb_inside_loop_p (loop, loop->header->succ->dest))
! succ_in_loop = loop->header->succ;
else
! succ_in_loop = loop->header->succ->succ_next;
!
! /* But if it has more than one predecessor, split the edge so that
! we do not create loops with multiple latch edges. */
! if (!succ_in_loop->dest->pred->pred_next)
! new_header = succ_in_loop->dest;
! else
! new_header = loop_split_edge_with (succ_in_loop, NULL);
!
! /* Copy the condition and update the loop structures. */
! header_copy = duplicate_block (loop->header, preheader_edge);
! add_bb_to_loop (header_copy, preheader->loop_father);
! loop->latch = loop->header;
! loop->header = new_header;
!
! /* Predict the loop to be entered. */
! predict_edge_def (loop_preheader_edge (loop), PRED_LOOP_HEADER,
! TAKEN);
!
! /* Ensure that the latch has just a single successor. */
! loop_split_edge_with (loop_latch_edge (loop), NULL);
}
}
! #ifdef ENABLE_CHECKING
! verify_loop_structure (loops);
! #endif
! loop_optimizer_finalize (loops,
! (tree_dump_flags & TDF_DETAILS
! ? tree_dump_file : NULL));
/* Run cleanup_tree_cfg here regardless of whether we have done anything, so
that we cleanup the blocks created in order to get the loops into a
--- 310,359 ----
int limit = 20;
loop = loops->parray[i];
+ preheader_edge = loop_preheader_edge (loop);
+ header = preheader_edge->dest;
/* Iterate the header copying up to limit; this takes care of the cases
like while (a && b) {...}, where we want to have both of the conditions
! copied. TODO -- handle while (a || b) - like cases, by not requiring
! the header to have just a single successor and copying up to
! postdominator.
!
! We do not really copy the blocks immediatelly, so that we do not have
! to worry about updating loop structures, and also so that we do not
! have to rewrite variables out of and into ssa form for each block.
! Instead we just record the block into worklist and duplicate all of
! them at once. */
! while (should_duplicate_loop_header_p (header, loop, &limit))
{
! if (!bbs_to_duplicate)
! VARRAY_GENERIC_PTR_NOGC_INIT (bbs_to_duplicate, 10,
! "bbs_to_duplicate");
! VARRAY_PUSH_GENERIC_PTR_NOGC (bbs_to_duplicate, preheader_edge);
! header->aux = &header->aux;
!
! if (tree_dump_file && (tree_dump_flags & TDF_DETAILS))
! fprintf (tree_dump_file,
! "Scheduled basic block %d for duplication.\n",
! header->index);
/* Find a successor of header that is inside a loop; i.e. the new
header after the condition is copied. */
! if (flow_bb_inside_loop_p (loop, header->succ->dest))
! preheader_edge = header->succ;
else
! preheader_edge = header->succ->succ_next;
! header = preheader_edge->dest;
}
}
! loop_optimizer_finalize (loops, NULL);
! if (bbs_to_duplicate)
! {
! duplicate_blocks (bbs_to_duplicate);
! VARRAY_FREE (bbs_to_duplicate);
! }
/* Run cleanup_tree_cfg here regardless of whether we have done anything, so
that we cleanup the blocks created in order to get the loops into a
*************** copy_loop_headers (void)
*** 220,252 ****
}
static bool
- gate_loop (void)
- {
- return flag_tree_loop != 0;
- }
-
- static bool
gate_ch (void)
{
return flag_tree_ch != 0;
}
- struct tree_opt_pass pass_loop =
- {
- "loop", /* name */
- gate_loop, /* gate */
- tree_ssa_loop_opt, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
- TV_TREE_LOOP, /* tv_id */
- PROP_cfg, /* properties_required */
- 0, /* properties_provided */
- 0, /* properties_destroyed */
- 0, /* todo_flags_start */
- TODO_dump_func | TODO_verify_ssa /* todo_flags_finish */
- };
-
struct tree_opt_pass pass_ch =
{
"ch", /* name */
--- 362,372 ----
*************** struct tree_opt_pass pass_ch =
*** 256,264 ****
NULL, /* next */
0, /* static_pass_number */
TV_TREE_CH, /* tv_id */
! PROP_cfg, /* properties_required */
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
! TODO_dump_func /* todo_flags_finish */
};
--- 376,386 ----
NULL, /* next */
0, /* static_pass_number */
TV_TREE_CH, /* tv_id */
! PROP_cfg | PROP_ssa, /* properties_required */
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
! (TODO_rename_vars
! | TODO_dump_func
! | TODO_verify_ssa) /* todo_flags_finish */
};
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-01.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-01.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
{
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
{
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-01.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-01.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-01.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,19 ****
Scalar evolution functions:
c
! -> {a_9, +, 1}_3
Scalar evolution functions:
a
! -> {a_1, +, 1}_2
--- 6,19 ----
Scalar evolution functions:
c
! -> {a_17, +, 1}_3
Scalar evolution functions:
a
! -> {a_2, +, 1}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-02.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-02.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-02.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-02.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-02.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
{
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
{
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-03.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-03.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-03.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-03.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-03.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-04.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-04.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-04.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-04.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-04.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-05.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-05.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-05.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-05.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-05.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-06.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-06.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-06.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-06.c 21 Jan 2004 17:39:05 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-06.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-07.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-07.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-07.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-07.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-07.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-08.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-08.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-08.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-08.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-08.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-09.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-09.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-09.c.scev,v
retrieving revision 1.1.2.5
diff -c -3 -p -r1.1.2.5 ssa-chrec-09.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.5
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-09.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,22 ****
Scalar evolution functions:
e
! -> {5, +, c_13}_1
d
! -> {{4, +, 5}_1, +, c_13}_1
c
! -> {{{3, +, 4}_1, +, 5}_1, +, c_13}_1
b
! -> {{{{2, +, 3}_1, +, 4}_1, +, 5}_1, +, c_13}_1
a
! -> {{{{{-100, +, 2}_1, +, 3}_1, +, 4}_1, +, 5}_1, +, c_13}_1
--- 6,22 ----
Scalar evolution functions:
e
! -> {5, +, c_28}_1
d
! -> {{4, +, 5}_1, +, c_28}_1
c
! -> {{{3, +, 4}_1, +, 5}_1, +, c_28}_1
b
! -> {{{{2, +, 3}_1, +, 4}_1, +, 5}_1, +, c_28}_1
a
! -> {{{{{-100, +, 2}_1, +, 3}_1, +, 4}_1, +, 5}_1, +, c_28}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-10.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-10.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c.ddall
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-10.c.ddall,v
retrieving revision 1.1.2.1
diff -c -3 -p -r1.1.2.1 ssa-chrec-10.c.ddall
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c.ddall 29 Jan 2004 18:36:41 -0000 1.1.2.1
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-10.c.ddall 12 Feb 2004 09:18:58 -0000
*************** T.5
*** 47,54 ****
Access function 1: {15, +, 1}_1
)
(Data Ref 2:
! stmt: c[x_4][T.1_5] = T.8_12;
! ref: c[x_4][T.1_5];
base_name: c
Access function 0: {12, +, 1}_1
Access function 1: {16, +, 1}_1
--- 47,54 ----
Access function 1: {15, +, 1}_1
)
(Data Ref 2:
! stmt: c[x_4][T.1_16] = T.8_12;
! ref: c[x_4][T.1_16];
base_name: c
Access function 0: {12, +, 1}_1
Access function 1: {16, +, 1}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-11.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-11.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-11.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-11.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-11.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main(void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main(void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-12.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-12.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-12.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-12.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-12.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-13.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-13.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-13.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-13.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-13.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int foo (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int foo (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-14.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-14.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-14.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-14.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-14.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int foo (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int foo (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-15.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-15.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-15.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-15.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-15.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main (void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main (void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-16.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-16.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-16.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-16.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-16.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main (void)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main (void)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-17.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-17.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-17.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-17.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-17.c.scev 12 Feb 2004 09:18:58 -0000
*************** a
*** 9,13 ****
-> [-oo, +oo]
b
! -> {2, +, a_2}_1
--- 9,13 ----
-> [-oo, +oo]
b
! -> {2, +, a_3}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-18.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-18.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-18.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-18.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-18.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-19.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-19.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-19.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-19.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-19.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-20.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-20.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-20.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-20.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-20.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-21.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-21.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-21.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-21.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-21.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-22.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-22.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-22.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-22.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-22.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-23.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-23.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-23.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-23.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-23.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-24.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-24.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-24.c.scev,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-24.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-24.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,12 ****
Scalar evolution functions:
c
! -> {c_2, +, 5}_1
--- 6,12 ----
Scalar evolution functions:
c
! -> {c_6, +, 5}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-25.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-25.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-25.c.scev,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-25.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-25.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,12 ****
Scalar evolution functions:
c
! -> {c_2, +, 5}_1
--- 6,12 ----
Scalar evolution functions:
c
! -> {c_7, +, 5}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-26.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-26.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-26.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-26.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-26.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-27.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-27.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-27.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-27.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-27.c.scev 12 Feb 2004 09:18:58 -0000
*************** a
*** 13,24 ****
Scalar evolution functions:
a
! -> {{a_5, +, 1}_1, +, 3}_2
Scalar evolution functions:
a
! -> {{a_5, +, 1}_1, +, 3}_2
--- 13,24 ----
Scalar evolution functions:
a
! -> {{a_10, +, 1}_1, +, 3}_2
Scalar evolution functions:
a
! -> {{a_10, +, 1}_1, +, 3}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-28.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-28.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-28.c.scev,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-28.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-28.c.scev 12 Feb 2004 09:18:58 -0000
*************** i
*** 13,19 ****
Scalar evolution functions:
a
! -> {a_6, +, 4}_2
--- 13,19 ----
Scalar evolution functions:
a
! -> {a_11, +, 4}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-29.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-29.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-29.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-29.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-29.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int bar (void);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int bar (void);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-30.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-30.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-30.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-30.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-30.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void foo (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void foo (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-31.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-31.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-31.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-31.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-31.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (short);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (short);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-32.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-32.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (short);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (short);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c.ddall
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-32.c.ddall,v
retrieving revision 1.1.2.1
diff -c -3 -p -r1.1.2.1 ssa-chrec-32.c.ddall
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c.ddall 29 Jan 2004 18:36:41 -0000 1.1.2.1
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-32.c.ddall 12 Feb 2004 09:18:58 -0000
*************** T.2
*** 12,25 ****
-> {{10, +, 1}_1, +, -1}_2
(Data Ref 0:
! stmt: T.3_16 = input[T.2_15];
! ref: input[T.2_15];
base_name: input
Access function 0: {{10, +, 1}_1, +, -1}_2
)
(Data Ref 1:
! stmt: T.5_18 = coef[j_5];
! ref: coef[j_5];
base_name: coef
Access function 0: {0, +, 1}_2
)
--- 12,25 ----
-> {{10, +, 1}_1, +, -1}_2
(Data Ref 0:
! stmt: T.3_15 = input[T.2_14];
! ref: input[T.2_14];
base_name: input
Access function 0: {{10, +, 1}_1, +, -1}_2
)
(Data Ref 1:
! stmt: T.5_17 = coef[j_2];
! ref: coef[j_2];
base_name: coef
Access function 0: {0, +, 1}_2
)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-33.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-33.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c.ddall
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-33.c.ddall,v
retrieving revision 1.1.2.1
diff -c -3 -p -r1.1.2.1 ssa-chrec-33.c.ddall
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c.ddall 29 Jan 2004 18:36:41 -0000 1.1.2.1
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-33.c.ddall 12 Feb 2004 09:18:58 -0000
*************** T.7
*** 32,57 ****
-> {1, +, 2}_2
(Data Ref 0:
! stmt: T.4_25 = input[T.3_24];
! ref: input[T.3_24];
base_name: input
Access function 0: {{21, +, 2}_1, +, -2}_2
)
(Data Ref 1:
! stmt: T.8_29 = coefs[T.7_28];
! ref: coefs[T.7_28];
base_name: coefs
Access function 0: {1, +, 2}_2
)
(Data Ref 2:
! stmt: T.11_34 = input[T.2_23];
! ref: input[T.2_23];
base_name: input
Access function 0: {{20, +, 2}_1, +, -2}_2
)
(Data Ref 3:
! stmt: T.13_37 = coefs[T.6_27];
! ref: coefs[T.6_27];
base_name: coefs
Access function 0: {0, +, 2}_2
)
--- 32,57 ----
-> {1, +, 2}_2
(Data Ref 0:
! stmt: T.4_23 = input[T.3_22];
! ref: input[T.3_22];
base_name: input
Access function 0: {{21, +, 2}_1, +, -2}_2
)
(Data Ref 1:
! stmt: T.8_27 = coefs[T.7_26];
! ref: coefs[T.7_26];
base_name: coefs
Access function 0: {1, +, 2}_2
)
(Data Ref 2:
! stmt: T.11_32 = input[T.2_21];
! ref: input[T.2_21];
base_name: input
Access function 0: {{20, +, 2}_1, +, -2}_2
)
(Data Ref 3:
! stmt: T.13_35 = coefs[T.6_25];
! ref: coefs[T.6_25];
base_name: coefs
Access function 0: {0, +, 2}_2
)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-34.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-34.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
void bar (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c.ddall
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-34.c.ddall,v
retrieving revision 1.1.2.1
diff -c -3 -p -r1.1.2.1 ssa-chrec-34.c.ddall
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c.ddall 29 Jan 2004 18:36:41 -0000 1.1.2.1
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-34.c.ddall 12 Feb 2004 09:18:58 -0000
***************
*** 2,23 ****
;; Function foo (foo)
(Data Ref 0:
! stmt: T.4_20 = (*T.3_19)[j_6];
! ref: (*T.3_19)[j_6];
! base_name: *T.3_19;
Access function 0: {0, +, 1}_2
)
(Data Ref 1:
! stmt: T.8_26 = (*T.7_25)[j_6];
! ref: (*T.7_25)[j_6];
! base_name: *T.7_25;
Access function 0: {0, +, 1}_2
)
(Data Dep (A = 0, B = 0):
(subscript 0:
! base_name_A: *T.3_19;
! base_name_B: *T.3_19;
access_fn_A: {0, +, 1}_2
access_fn_B: {0, +, 1}_2
iterations_that_access_an_element_twice_in_A: {0, +, 1}_2
--- 2,23 ----
;; Function foo (foo)
(Data Ref 0:
! stmt: T.4_18 = (*T.3_17)[j_4];
! ref: (*T.3_17)[j_4];
! base_name: *T.3_17;
Access function 0: {0, +, 1}_2
)
(Data Ref 1:
! stmt: T.8_24 = (*T.7_23)[j_4];
! ref: (*T.7_23)[j_4];
! base_name: *T.7_23;
Access function 0: {0, +, 1}_2
)
(Data Dep (A = 0, B = 0):
(subscript 0:
! base_name_A: *T.3_17;
! base_name_B: *T.3_17;
access_fn_A: {0, +, 1}_2
access_fn_B: {0, +, 1}_2
iterations_that_access_an_element_twice_in_A: {0, +, 1}_2
***************
*** 42,49 ****
)
(Data Dep (A = 1, B = 1):
(subscript 0:
! base_name_A: *T.7_25;
! base_name_B: *T.7_25;
access_fn_A: {0, +, 1}_2
access_fn_B: {0, +, 1}_2
iterations_that_access_an_element_twice_in_A: {0, +, 1}_2
--- 42,49 ----
)
(Data Dep (A = 1, B = 1):
(subscript 0:
! base_name_A: *T.7_23;
! base_name_B: *T.7_23;
access_fn_A: {0, +, 1}_2
access_fn_B: {0, +, 1}_2
iterations_that_access_an_element_twice_in_A: {0, +, 1}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-35.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-35.c,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-35.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-35.c 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-35.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
#define L 100
#define M 100
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
#define L 100
#define M 100
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-36.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-36.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
int foo (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
int foo (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c.ddall
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-36.c.ddall,v
retrieving revision 1.1.2.1
diff -c -3 -p -r1.1.2.1 ssa-chrec-36.c.ddall
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c.ddall 29 Jan 2004 18:36:41 -0000 1.1.2.1
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-36.c.ddall 12 Feb 2004 09:18:58 -0000
***************
*** 2,22 ****
;; Function main (main)
(Data Ref 0:
! stmt: c[T.1_9][a_1] = 2;
! ref: c[T.1_9][a_1];
base_name: c
Access function 0: {1, +, 1}_1
Access function 1: {2, +, 1}_1
)
(Data Ref 1:
! stmt: T.2_10 = c[a_1][a_1];
ref: c[a_1][a_1];
base_name: c
Access function 0: {1, +, 1}_1
Access function 1: {1, +, 1}_1
)
(Data Ref 2:
! stmt: T.3_6 = c[12][13];
ref: c[12][13];
base_name: c
Access function 0: 13
--- 2,22 ----
;; Function main (main)
(Data Ref 0:
! stmt: c[T.1_14][a_1] = 2;
! ref: c[T.1_14][a_1];
base_name: c
Access function 0: {1, +, 1}_1
Access function 1: {2, +, 1}_1
)
(Data Ref 1:
! stmt: T.2_9 = c[a_1][a_1];
ref: c[a_1][a_1];
base_name: c
Access function 0: {1, +, 1}_1
Access function 1: {1, +, 1}_1
)
(Data Ref 2:
! stmt: T.3_5 = c[12][13];
ref: c[12][13];
base_name: c
Access function 0: 13
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-37.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-37.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-37.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-37.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-37.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-38.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-38.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-38.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-38.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-38.c.scev 12 Feb 2004 09:18:58 -0000
*************** c
*** 16,22 ****
-> {11, +, 12}_1
a
! -> {a_12, +, {11, +, 12}_1}_2
--- 16,22 ----
-> {11, +, 12}_1
a
! -> {a_23, +, {11, +, 12}_1}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-39.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-39.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int foo (int ParmN)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int foo (int ParmN)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-39.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-39.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-39.c.scev 12 Feb 2004 09:18:58 -0000
*************** d
*** 13,19 ****
Scalar evolution functions:
a
! -> {a_10, +, ParmN_12}_2
--- 13,19 ----
Scalar evolution functions:
a
! -> {a_19, +, ParmN_11}_2
*************** b
*** 30,34 ****
-> {2, +, 25}_1
a
! -> {{{3, +, ParmN_12 * 5 + 27}_1, +, 25}_1, +, ParmN_12}_2
--- 30,34 ----
-> {2, +, 25}_1
a
! -> {{{3, +, ParmN_11 * 5 + 27}_1, +, 25}_1, +, ParmN_11}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-40.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-40.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-40.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-40.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-40.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-41.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-41.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-41.c.scev,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-41.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-41.c.scev 12 Feb 2004 09:18:58 -0000
*************** b
*** 16,22 ****
-> {4, *, 5}_1
a
! -> {a_9, *, {4, *, 5}_1}_2
--- 16,22 ----
-> {4, *, 5}_1
a
! -> {a_17, *, {4, *, 5}_1}_2
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-42.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-42.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-42.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-42.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-42.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-43.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-43.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-43.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-43.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-43.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int main ()
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int main ()
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-44.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-44.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-44.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-44.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-44.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
/* That's a reduced testcase of one of my favourite simulation programs.
This is also known under the name: "Newton's falling apple".
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
/* That's a reduced testcase of one of my favourite simulation programs.
This is also known under the name: "Newton's falling apple".
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-45.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-45.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-45.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-45.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-45.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
/* That's a reduced testcase of one of my favourite simulation programs.
This is also known under the name: "Newton's falling apple".
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
/* That's a reduced testcase of one of my favourite simulation programs.
This is also known under the name: "Newton's falling apple".
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-46.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-46.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int i,
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int i,
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-46.c.scev,v
retrieving revision 1.1.2.4
diff -c -3 -p -r1.1.2.4 ssa-chrec-46.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.4
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-46.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,17 ****
Scalar evolution functions:
i
! -> {i_6, +, -1}_1
Scalar evolution functions:
i
! -> {i_6, +, -1}_1
--- 6,17 ----
Scalar evolution functions:
i
! -> {i_5, +, -1}_1
Scalar evolution functions:
i
! -> {i_5, +, -1}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-47.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-47.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int unknown_parm, int a, int b)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int unknown_parm, int a, int b)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-47.c.scev,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-47.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-47.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,17 ****
Scalar evolution functions:
p
! -> {p_2, +, -1}_1
Scalar evolution functions:
p
! -> {[MIN_EXPR <p_6, p_8>, MAX_EXPR <p_6, p_8>], +, -1}_1
--- 6,17 ----
Scalar evolution functions:
p
! -> {p_8, +, -1}_1
Scalar evolution functions:
p
! -> {[MIN_EXPR <p_7, p_5>, MAX_EXPR <p_7, p_5>], +, -1}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-48.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-48.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-48.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-48.c 21 Jan 2004 17:39:05 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-48.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int *c)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int *c)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-49.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-49.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-49.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-49.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-49.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int *c)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int *c)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-50.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-50.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-50.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-50.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-50.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int *c)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int *c)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-51.c,v
retrieving revision 1.1.2.2
diff -c -3 -p -r1.1.2.2 ssa-chrec-51.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c 21 Jan 2004 17:39:05 -0000 1.1.2.2
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev" } */
int
foo (int j)
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev" } */
int
foo (int j)
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c.scev
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-51.c.scev,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-51.c.scev
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c.scev 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-51.c.scev 12 Feb 2004 09:18:58 -0000
***************
*** 6,15 ****
Scalar evolution functions:
temp_var
! -> i_1 + j_5;
i
! -> {0, +, j_5 + 2}_1
--- 6,15 ----
Scalar evolution functions:
temp_var
! -> i_1 + j_4;
i
! -> {0, +, j_4 + 2}_1
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-52.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-52.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-52.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-52.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-52.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
int bar (int);
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
int bar (int);
Index: testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-53.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/tree-ssa-chrec/Attic/ssa-chrec-53.c,v
retrieving revision 1.1.2.3
diff -c -3 -p -r1.1.2.3 ssa-chrec-53.c
*** testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-53.c 29 Jan 2004 18:36:41 -0000 1.1.2.3
--- testsuite/gcc.dg/tree-ssa-chrec/ssa-chrec-53.c 12 Feb 2004 09:18:58 -0000
***************
*** 1,5 ****
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
#define N 16
--- 1,5 ----
/* { dg-do compile } */
! /* { dg-options "-O1 -fscalar-evolutions -fno-tree-ch -fdump-tree-scev -fall-data-deps -fdump-tree-ddall" } */
#define N 16
More information about the Gcc-patches
mailing list