tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
2004-08-24 22:48:23 +02:00
|
|
|
/* { dg-do compile } */
|
2007-08-03 18:07:58 +02:00
|
|
|
/* -mlongcall will cause us to place &foo in the CTR register. */
|
|
|
|
/* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */
|
2006-01-05 14:53:54 +01:00
|
|
|
/* { dg-options "-O1 -ftree-loop-ivcanon -funroll-loops -fdump-tree-ivcanon-details -fdump-tree-cunroll-details -fdump-tree-optimized" } */
|
2013-07-26 20:28:27 +02:00
|
|
|
/* { dg-options "-O1 -ftree-loop-ivcanon -funroll-loops -fdump-tree-ivcanon-details -fdump-tree-cunroll-details -fdump-tree-optimized -mshort-calls" {target epiphany-*-*} } */
|
|
|
|
|
tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
2004-08-24 22:48:23 +02:00
|
|
|
|
2004-09-27 00:31:26 +02:00
|
|
|
/* On 31-bit S/390 the function address will be stored (once) in the literal pool,
|
|
|
|
so scan-assembler-times "foo" will return 1 even if the loop is fully unrolled.
|
|
|
|
-msmall-exec avoids this by enabling a call instruction with immediate operand. */
|
2006-01-05 14:53:54 +01:00
|
|
|
/* { dg-options "-O1 -ftree-loop-ivcanon -funroll-loops -fdump-tree-ivcanon-details -fdump-tree-cunroll-details -fdump-tree-optimized -msmall-exec" { target s390-*-* } } */
|
2004-09-27 00:31:26 +02:00
|
|
|
|
2004-10-23 17:53:06 +02:00
|
|
|
/* On Darwin, we call extern functions via a stub in PIC mode which is default and
|
|
|
|
the stub is named after the function. To avoid this we use -static to go out
|
|
|
|
of PIC mode. */
|
2006-01-05 14:53:54 +01:00
|
|
|
/* { dg-options "-O1 -ftree-loop-ivcanon -funroll-loops -fdump-tree-ivcanon-details -fdump-tree-cunroll-details -fdump-tree-optimized -static" { target *-*-darwin* } } */
|
2004-10-23 17:53:06 +02:00
|
|
|
|
mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.c (mips_strip_unspec_address): Move it up in
the file.
(mips_unspec_call): Change "unspec_call" expander into this.
(mips_strip_unspec_call): New function.
(mips_got_load): Call mips_unspec_call instead of
gen_unspec_call<mode>.
(mips16_build_call_stub): Fix comment for fp_code. Adjust call to
MIPS_CALL.
(mips_cfg_in_reorg): New function.
(mips16_lay_out_constants): Use it to decide whether to call
CFG-aware insn splitting.
(r10k_insert_cache_barriers): Move CFG set-up code from here to
mips_reorg. Move DF set-up code from here ...
(mips_df_reorg): ... to here. Call r10k_insert_cache_barriers
from here.
(mips_reorg): Call mips_df_reorg instead of
r10k_insert_cache_barriers. Move CFG set-up code here from
r10k_insert_cache_barriers.
(mips_call_expr_from_insn): New function.
(mips_pic_call_symbol_from_set): Likewise.
(mips_find_pic_call_symbol): Likewise.
(mips_annotate_pic_call_expr): Likewise.
(mips_get_pic_call_symbol): Likewise.
(mips_annotate_pic_calls): Likewise.
(mips_override_options): Disable -mrelax-pic-calls unless PIC
calls are used.
(mips_set_mips16_mode): Disable -mrelax-pic-calls for MIPS16.
* config/mips/mips-protos.h (mips_get_pic_call_symbol): Declare it.
* config/mips/mips.h (MIPS_CALL): Use it to print the .reloc
directive.
* config/mips/mips.md (UNSPEC_CALL_ATTR): New unspec.
(unspec_call<mode>): Remove it.
(sibcall_internal, sibcall_value_internal,
sibcall_value_multiple_internal, call_internal, call_split,
call_value_internal, call_value_split,
call_value_multiple_internal, call_value_multiple_split): Pass
SIZE_OPNO to MIPS_CALL.
(call_internal_direct, call_direct_split,
call_value_internal_direct, call_value_direct_split): Pass -1 as
SIZE_OPNO to MIPS_CALL.
* configure.ac <mips*-*-*>: Add test for .reloc R_MIPS_JALR.
* configure: Regenerate.
* doc/invoke.texi (Option Summary): Add -mrelax-pic-calls
and -mno-relax-pic-calls.
(MIPS Options): Document -mrelax-pic-calls
and -mno-relax-pic-calls.
testsuite/
* gcc.target/mips/mips.exp: Add relax-pic-calls
under -mfoo/-mno-foo options.
(mips-dg-options): Make -mrelax-pic-calls imply -mno-plt, -mabicalls
and -mexplicit-relocs.
* gcc.target/mips/call-1.c: New test.
* gcc.target/mips/call-2.c: New test.
* gcc.target/mips/call-3.c: New test.
* gcc.target/mips/lazy-binding-1.c: Add MIPS-specific dg-options.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
From-SVN: r151890
2009-09-19 22:23:55 +02:00
|
|
|
/* On MIPS, disable generating hints (R_MIPS_JALR) for PIC calls. In addition
|
2013-07-21 18:17:52 +02:00
|
|
|
to the load from the GOT this also contains the name of the function so for
|
mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.opt (mrelax-pic-calls): New option.
* config/mips/mips.c (mips_strip_unspec_address): Move it up in
the file.
(mips_unspec_call): Change "unspec_call" expander into this.
(mips_strip_unspec_call): New function.
(mips_got_load): Call mips_unspec_call instead of
gen_unspec_call<mode>.
(mips16_build_call_stub): Fix comment for fp_code. Adjust call to
MIPS_CALL.
(mips_cfg_in_reorg): New function.
(mips16_lay_out_constants): Use it to decide whether to call
CFG-aware insn splitting.
(r10k_insert_cache_barriers): Move CFG set-up code from here to
mips_reorg. Move DF set-up code from here ...
(mips_df_reorg): ... to here. Call r10k_insert_cache_barriers
from here.
(mips_reorg): Call mips_df_reorg instead of
r10k_insert_cache_barriers. Move CFG set-up code here from
r10k_insert_cache_barriers.
(mips_call_expr_from_insn): New function.
(mips_pic_call_symbol_from_set): Likewise.
(mips_find_pic_call_symbol): Likewise.
(mips_annotate_pic_call_expr): Likewise.
(mips_get_pic_call_symbol): Likewise.
(mips_annotate_pic_calls): Likewise.
(mips_override_options): Disable -mrelax-pic-calls unless PIC
calls are used.
(mips_set_mips16_mode): Disable -mrelax-pic-calls for MIPS16.
* config/mips/mips-protos.h (mips_get_pic_call_symbol): Declare it.
* config/mips/mips.h (MIPS_CALL): Use it to print the .reloc
directive.
* config/mips/mips.md (UNSPEC_CALL_ATTR): New unspec.
(unspec_call<mode>): Remove it.
(sibcall_internal, sibcall_value_internal,
sibcall_value_multiple_internal, call_internal, call_split,
call_value_internal, call_value_split,
call_value_multiple_internal, call_value_multiple_split): Pass
SIZE_OPNO to MIPS_CALL.
(call_internal_direct, call_direct_split,
call_value_internal_direct, call_value_direct_split): Pass -1 as
SIZE_OPNO to MIPS_CALL.
* configure.ac <mips*-*-*>: Add test for .reloc R_MIPS_JALR.
* configure: Regenerate.
* doc/invoke.texi (Option Summary): Add -mrelax-pic-calls
and -mno-relax-pic-calls.
(MIPS Options): Document -mrelax-pic-calls
and -mno-relax-pic-calls.
testsuite/
* gcc.target/mips/mips.exp: Add relax-pic-calls
under -mfoo/-mno-foo options.
(mips-dg-options): Make -mrelax-pic-calls imply -mno-plt, -mabicalls
and -mexplicit-relocs.
* gcc.target/mips/call-1.c: New test.
* gcc.target/mips/call-2.c: New test.
* gcc.target/mips/call-3.c: New test.
* gcc.target/mips/lazy-binding-1.c: Add MIPS-specific dg-options.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
From-SVN: r151890
2009-09-19 22:23:55 +02:00
|
|
|
each call the function name would appear twice. */
|
|
|
|
/* { dg-options "-O1 -ftree-loop-ivcanon -funroll-loops -fdump-tree-ivcanon-details -fdump-tree-cunroll-details -fdump-tree-optimized -mno-relax-pic-calls" { target mips*-*-* } } */
|
2012-11-06 17:22:45 +01:00
|
|
|
__attribute__ ((pure))
|
|
|
|
int foo (int x);
|
|
|
|
int xxx(void)
|
tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
2004-08-24 22:48:23 +02:00
|
|
|
{
|
|
|
|
int x = 45;
|
2012-11-06 17:22:45 +01:00
|
|
|
int sum;
|
tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
2004-08-24 22:48:23 +02:00
|
|
|
|
|
|
|
while (x >>= 1)
|
2012-11-06 17:22:45 +01:00
|
|
|
sum += foo (x) * 2;
|
|
|
|
return sum;
|
tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-ivcanon.c: New file.
* tree-ssa-loop-manip.c (create_iv): New function.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
* cfgloop.c (mark_single_exit_loops): New function.
(verify_loop_structure): Verify single-exit loops.
* cfgloop.h (struct loop): Add single_exit field.
(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
(mark_single_exit_loops): Declare.
(tree_num_loop_insns): Declare.
* cfgloopmanip.c (update_single_exits_after_duplication): New function.
(duplicate_loop_to_header_edge): Use it.
* common.opt (fivcanon): New flag.
* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
(bsi_insert_on_edge_immediate): New function.
* tree-flow.h (bsi_insert_on_edge_immediate,
canonicalize_induction_variables, tree_unroll_loops_completely,
create_iv): Declare.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_canon and pass_complete_unroll.
* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
* tree-scalar-evolution.c (get_loop_exit_condition,
get_exit_conditions_rec, number_of_iterations_in_loop,
scev_initialize): Use single_exit information.
* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
missing assumptions.
(loop_niter_by_eval): Return number of iterations as unsigned
int.
* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
New passes.
(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
the defining statement is ready.
* tree-vectorizer.c (vect_create_iv_simple): Removed.
(vect_create_index_for_array_ref, vect_transform_loop_bound):
Use create_iv.
(vect_transform_loop_bound): Use single_exit information.
(vect_analyze_loop_form): Cleanup bogus tests.
(vectorize_loops): Do not call flow_loop_scan.
* tree.h (may_negate_without_overflow_p): Declare.
* fold-const.c (may_negate_without_overflow_p): Split out from ...
(negate_expr_p): ... this function.
(tree_expr_nonzero_p): Handle overflowed constants correctly.
* doc/invoke.texi (-fivcanon): Document.
* doc/passes.texi: Document canonical induction variable creation.
* gcc.dg/tree-ssa/loop-1.c: New test.
From-SVN: r86516
2004-08-24 22:48:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/* We should be able to find out that the loop iterates four times and unroll it completely. */
|
|
|
|
|
|
|
|
/* { dg-final { scan-tree-dump-times "Added canonical iv to loop 1, 4 iterations" 1 "ivcanon"} } */
|
nothrow1.C: Use cleanup-tree-dump.
* g++.dg/opt/nothrow1.C: Use cleanup-tree-dump.
g++.dg/tree-ssa/empty-1.C, g++.dg/tree-ssa/nothrow-1.C,
g++.dg/tree-ssa/pointer-reference-alias.C,
g++.dg/tree-ssa/pr15791-3.C, g++.dg/tree-ssa/pr15791-4.C,
g++.dg/tree-ssa/pr15791-5.C, g++.dg/tree-ssa/ssa-cast-1.C
g++.dg/tree-ssa/ssa-sra-1.C, g++.dg/tree-ssa/ssa-sra-2.C: Ditto
g++.dg/vect/pr19951.cc: Ditto.
* gcc.dg/builtins-43.c, gcc.dg/builtins-44.c, gcc.dg/builtins-45.c,
gcc.dg/builtins-47.c: Ditto.
* gcc.dg/pr15784-1.c, gcc.dg/pr15784-2.c, gcc.dg/pr15784-3.c,
gcc.dg/pr20115-1.c: Ditto.
* gcc.dg/tree-ssa/20030530-2.c,
gcc.dg/tree-ssa/20030611-1.c, gcc.dg/tree-ssa/20030703-1.c,
gcc.dg/tree-ssa/20030703-2.c, gcc.dg/tree-ssa/20030708-1.c,
gcc.dg/tree-ssa/20030709-1.c, gcc.dg/tree-ssa/20030709-2.c,
gcc.dg/tree-ssa/20030709-3.c, gcc.dg/tree-ssa/20030710-1.c,
gcc.dg/tree-ssa/20030711-1.c, gcc.dg/tree-ssa/20030711-2.c,
gcc.dg/tree-ssa/20030711-3.c, gcc.dg/tree-ssa/20030714-1.c,
gcc.dg/tree-ssa/20030714-2.c, gcc.dg/tree-ssa/20030728-1.c,
gcc.dg/tree-ssa/20030729-1.c, gcc.dg/tree-ssa/20030730-1.c,
gcc.dg/tree-ssa/20030730-2.c, gcc.dg/tree-ssa/20030731-1.c,
gcc.dg/tree-ssa/20030731-2.c, gcc.dg/tree-ssa/20030807-1.c,
gcc.dg/tree-ssa/20030807-10.c, gcc.dg/tree-ssa/20030807-11.c,
gcc.dg/tree-ssa/20030807-2.c, gcc.dg/tree-ssa/20030807-3.c,
gcc.dg/tree-ssa/20030807-5.c, gcc.dg/tree-ssa/20030807-6.c,
gcc.dg/tree-ssa/20030807-7.c, gcc.dg/tree-ssa/20030807-8.c,
gcc.dg/tree-ssa/20030807-9.c, gcc.dg/tree-ssa/20030808-1.c,
gcc.dg/tree-ssa/20030814-1.c, gcc.dg/tree-ssa/20030814-2.c,
gcc.dg/tree-ssa/20030814-3.c, gcc.dg/tree-ssa/20030814-4.c,
gcc.dg/tree-ssa/20030814-5.c, gcc.dg/tree-ssa/20030814-6.c,
gcc.dg/tree-ssa/20030814-7.c, gcc.dg/tree-ssa/20030815-1.c,
gcc.dg/tree-ssa/20030824-1.c,
gcc.dg/tree-ssa/20030824-2.c, gcc.dg/tree-ssa/20030825-1.c,
gcc.dg/tree-ssa/20030907-1.c, gcc.dg/tree-ssa/20030917-1.c,
gcc.dg/tree-ssa/20030917-3.c, gcc.dg/tree-ssa/20030922-1.c,
gcc.dg/tree-ssa/20030922-2.c, gcc.dg/tree-ssa/20031015-1.c,
gcc.dg/tree-ssa/20031021-1.c, gcc.dg/tree-ssa/20031022-1.c,
gcc.dg/tree-ssa/20031106-1.c, gcc.dg/tree-ssa/20031106-2.c,
gcc.dg/tree-ssa/20031106-3.c, gcc.dg/tree-ssa/20031106-4.c,
gcc.dg/tree-ssa/20031106-5.c, gcc.dg/tree-ssa/20031106-6.c,
gcc.dg/tree-ssa/20031216-1.c, gcc.dg/tree-ssa/20040204-1.c,
gcc.dg/tree-ssa/20040210-1.c, gcc.dg/tree-ssa/20040211-1.c,
gcc.dg/tree-ssa/20040216-1.c, gcc.dg/tree-ssa/20040305-1.c,
gcc.dg/tree-ssa/20040430-1.c, gcc.dg/tree-ssa/20040513-1.c,
gcc.dg/tree-ssa/20040513-2.c, gcc.dg/tree-ssa/20040514-1.c,
gcc.dg/tree-ssa/20040514-2.c, gcc.dg/tree-ssa/20040517-1.c,
gcc.dg/tree-ssa/20040518-1.c, gcc.dg/tree-ssa/20040518-2.c,
gcc.dg/tree-ssa/20040615-1.c, gcc.dg/tree-ssa/20040624-1.c,
gcc.dg/tree-ssa/20040703-1.c, gcc.dg/tree-ssa/20040721-1.c,
gcc.dg/tree-ssa/20040729-1.c, gcc.dg/tree-ssa/20040911-1.c,
gcc.dg/tree-ssa/20041002-1.c, gcc.dg/tree-ssa/20041122-1.c,
gcc.dg/tree-ssa/20050128-1.c, gcc.dg/tree-ssa/20050215-1.c,
gcc.dg/tree-ssa/asm-1.c, gcc.dg/tree-ssa/asm-2.c,
gcc.dg/tree-ssa/asm-3.c, gcc.dg/tree-ssa/cfgcleanup-1.c,
gcc.dg/tree-ssa/complex-1.c, gcc.dg/tree-ssa/complex-2.c,
gcc.dg/tree-ssa/copy-headers.c, gcc.dg/tree-ssa/ifc-20040816-1.c,
gcc.dg/tree-ssa/ifc-20040816-2.c, gcc.dg/tree-ssa/inline_asm-1.c,
gcc.dg/tree-ssa/inline_asm-2.c, gcc.dg/tree-ssa/loop-1.c,
gcc.dg/tree-ssa/loop-2.c, gcc.dg/tree-ssa/loop-3.c,
gcc.dg/tree-ssa/loop-4.c, gcc.dg/tree-ssa/loop-5.c,
gcc.dg/tree-ssa/loop-6.c, gcc.dg/tree-ssa/loop-7.c,
gcc.dg/tree-ssa/ltrans-1.c, gcc.dg/tree-ssa/ltrans-2.c,
gcc.dg/tree-ssa/ltrans-3.c, gcc.dg/tree-ssa/ltrans-4.c,
gcc.dg/tree-ssa/ltrans-5.c, gcc.dg/tree-ssa/pr15349.c,
gcc.dg/tree-ssa/pr15791-3.c, gcc.dg/tree-ssa/pr15791-4.c,
gcc.dg/tree-ssa/pr15791-5.c, gcc.dg/tree-ssa/pr16721.c,
gcc.dg/tree-ssa/pr19633.c, gcc.dg/tree-ssa/sra-1.c,
gcc.dg/tree-ssa/sra-2.c, gcc.dg/tree-ssa/sra-3.c,
gcc.dg/tree-ssa/ssa-ccp-1.c, gcc.dg/tree-ssa/ssa-ccp-10.c,
gcc.dg/tree-ssa/ssa-ccp-11.c, gcc.dg/tree-ssa/ssa-ccp-2.c,
gcc.dg/tree-ssa/ssa-ccp-3.c, gcc.dg/tree-ssa/ssa-ccp-7.c,
gcc.dg/tree-ssa/ssa-ccp-9.c, gcc.dg/tree-ssa/ssa-dce-1.c,
gcc.dg/tree-ssa/ssa-dce-2.c, gcc.dg/tree-ssa/ssa-dce-3.c,
gcc.dg/tree-ssa/ssa-dom-ccp-1.c, gcc.dg/tree-ssa/ssa-dom-cse-1.c,
gcc.dg/tree-ssa/ssa-dom-thread-1.c, gcc.dg/tree-ssa/ssa-pre-1.c,
gcc.dg/tree-ssa/ssa-pre-2.c, gcc.dg/tree-ssa/ssa-pre-3.c,
gcc.dg/tree-ssa/ssa-pre-4.c, gcc.dg/tree-ssa/ssa-pre-5.c,
gcc.dg/tree-ssa/ssa-pre-6.c, gcc.dg/tree-ssa/ssa-sink-1.c,
gcc.dg/tree-ssa/ssa-sink-2.c, gcc.dg/tree-ssa/ssa-sink-3.c,
gcc.dg/tree-ssa/ssa-sink-4.c, gcc.dg/tree-ssa/tailcall-1.c,
gcc.dg/tree-ssa/tailcall-2.c, gcc.dg/tree-ssa/tailrecursion-1.c,
gcc.dg/tree-ssa/tailrecursion-2.c, gcc.dg/tree-ssa/tailrecursion-3.c,
gcc.dg/tree-ssa/tailrecursion-4.c, gcc.dg/tree-ssa/tailrecursion-5.c,
gcc.dg/tree-ssa/useless-1.c: Ditto.
gcc.dg/vect/pr16105.c, gcc.dg/vect/pr18308.c, gcc.dg/vect/pr18400.c,
gcc.dg/vect/pr18425.c, gcc.dg/vect/pr18536.c, gcc.dg/vect/vect-1.c,
gcc.dg/vect/vect-10.c, gcc.dg/vect/vect-11.c, gcc.dg/vect/vect-12.c,
gcc.dg/vect/vect-13.c, gcc.dg/vect/vect-14.c, gcc.dg/vect/vect-15.c,
gcc.dg/vect/vect-16.c, gcc.dg/vect/vect-17.c, gcc.dg/vect/vect-18.c,
gcc.dg/vect/vect-19.c, gcc.dg/vect/vect-2.c, gcc.dg/vect/vect-20.c,
gcc.dg/vect/vect-21.c, gcc.dg/vect/vect-22.c, gcc.dg/vect/vect-23.c,
gcc.dg/vect/vect-24.c, gcc.dg/vect/vect-25.c, gcc.dg/vect/vect-26.c,
gcc.dg/vect/vect-27.c, gcc.dg/vect/vect-28.c, gcc.dg/vect/vect-29.c,
gcc.dg/vect/vect-3.c, gcc.dg/vect/vect-30.c, gcc.dg/vect/vect-31.c,
gcc.dg/vect/vect-32.c, gcc.dg/vect/vect-33.c, gcc.dg/vect/vect-34.c,
gcc.dg/vect/vect-35.c, gcc.dg/vect/vect-36.c, gcc.dg/vect/vect-37.c,
gcc.dg/vect/vect-38.c, gcc.dg/vect/vect-4.c, gcc.dg/vect/vect-40.c,
gcc.dg/vect/vect-41.c, gcc.dg/vect/vect-42.c, gcc.dg/vect/vect-43.c,
gcc.dg/vect/vect-44.c, gcc.dg/vect/vect-45.c, gcc.dg/vect/vect-46.c,
gcc.dg/vect/vect-47.c, gcc.dg/vect/vect-48.c, gcc.dg/vect/vect-49.c,
gcc.dg/vect/vect-5.c, gcc.dg/vect/vect-50.c, gcc.dg/vect/vect-51.c,
gcc.dg/vect/vect-52.c, gcc.dg/vect/vect-53.c, gcc.dg/vect/vect-54.c,
gcc.dg/vect/vect-55.c, gcc.dg/vect/vect-56.c, gcc.dg/vect/vect-57.c,
gcc.dg/vect/vect-58.c, gcc.dg/vect/vect-59.c, gcc.dg/vect/vect-6.c,
gcc.dg/vect/vect-60.c, gcc.dg/vect/vect-61.c, gcc.dg/vect/vect-62.c,
gcc.dg/vect/vect-63.c, gcc.dg/vect/vect-64.c, gcc.dg/vect/vect-65.c,
gcc.dg/vect/vect-66.c, gcc.dg/vect/vect-67.c, gcc.dg/vect/vect-68.c,
gcc.dg/vect/vect-69.c, gcc.dg/vect/vect-7.c, gcc.dg/vect/vect-70.c,
gcc.dg/vect/vect-71.c, gcc.dg/vect/vect-72.c, gcc.dg/vect/vect-73.c,
gcc.dg/vect/vect-74.c, gcc.dg/vect/vect-75.c, gcc.dg/vect/vect-76.c,
gcc.dg/vect/vect-77.c, gcc.dg/vect/vect-78.c, gcc.dg/vect/vect-79.c,
gcc.dg/vect/vect-8.c, gcc.dg/vect/vect-80.c, gcc.dg/vect/vect-82.c,
gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83.c,
gcc.dg/vect/vect-83_64.c, gcc.dg/vect/vect-85.c,
gcc.dg/vect/vect-86.c, gcc.dg/vect/vect-87.c, gcc.dg/vect/vect-88.c,
gcc.dg/vect/vect-89.c, gcc.dg/vect/vect-9.c, gcc.dg/vect/vect-96.c,
gcc.dg/vect/vect-97.c, gcc.dg/vect/vect-98.c, gcc.dg/vect/vect-all.c,
gcc.dg/vect/vect-none.c: Ditto.
* treelang/compile/extrafunc.tree, treelang/compile/extravar.tree,
treelang/compile/unsigned.tree: Ditto.
From-SVN: r97342
2005-03-31 20:34:19 +02:00
|
|
|
/* { dg-final { cleanup-tree-dump "ivcanon" } } */
|
2013-08-29 23:06:08 +02:00
|
|
|
/* { dg-final { scan-tree-dump-times "loop with 5 iterations completely unrolled" 1 "cunroll"} } */
|
nothrow1.C: Use cleanup-tree-dump.
* g++.dg/opt/nothrow1.C: Use cleanup-tree-dump.
g++.dg/tree-ssa/empty-1.C, g++.dg/tree-ssa/nothrow-1.C,
g++.dg/tree-ssa/pointer-reference-alias.C,
g++.dg/tree-ssa/pr15791-3.C, g++.dg/tree-ssa/pr15791-4.C,
g++.dg/tree-ssa/pr15791-5.C, g++.dg/tree-ssa/ssa-cast-1.C
g++.dg/tree-ssa/ssa-sra-1.C, g++.dg/tree-ssa/ssa-sra-2.C: Ditto
g++.dg/vect/pr19951.cc: Ditto.
* gcc.dg/builtins-43.c, gcc.dg/builtins-44.c, gcc.dg/builtins-45.c,
gcc.dg/builtins-47.c: Ditto.
* gcc.dg/pr15784-1.c, gcc.dg/pr15784-2.c, gcc.dg/pr15784-3.c,
gcc.dg/pr20115-1.c: Ditto.
* gcc.dg/tree-ssa/20030530-2.c,
gcc.dg/tree-ssa/20030611-1.c, gcc.dg/tree-ssa/20030703-1.c,
gcc.dg/tree-ssa/20030703-2.c, gcc.dg/tree-ssa/20030708-1.c,
gcc.dg/tree-ssa/20030709-1.c, gcc.dg/tree-ssa/20030709-2.c,
gcc.dg/tree-ssa/20030709-3.c, gcc.dg/tree-ssa/20030710-1.c,
gcc.dg/tree-ssa/20030711-1.c, gcc.dg/tree-ssa/20030711-2.c,
gcc.dg/tree-ssa/20030711-3.c, gcc.dg/tree-ssa/20030714-1.c,
gcc.dg/tree-ssa/20030714-2.c, gcc.dg/tree-ssa/20030728-1.c,
gcc.dg/tree-ssa/20030729-1.c, gcc.dg/tree-ssa/20030730-1.c,
gcc.dg/tree-ssa/20030730-2.c, gcc.dg/tree-ssa/20030731-1.c,
gcc.dg/tree-ssa/20030731-2.c, gcc.dg/tree-ssa/20030807-1.c,
gcc.dg/tree-ssa/20030807-10.c, gcc.dg/tree-ssa/20030807-11.c,
gcc.dg/tree-ssa/20030807-2.c, gcc.dg/tree-ssa/20030807-3.c,
gcc.dg/tree-ssa/20030807-5.c, gcc.dg/tree-ssa/20030807-6.c,
gcc.dg/tree-ssa/20030807-7.c, gcc.dg/tree-ssa/20030807-8.c,
gcc.dg/tree-ssa/20030807-9.c, gcc.dg/tree-ssa/20030808-1.c,
gcc.dg/tree-ssa/20030814-1.c, gcc.dg/tree-ssa/20030814-2.c,
gcc.dg/tree-ssa/20030814-3.c, gcc.dg/tree-ssa/20030814-4.c,
gcc.dg/tree-ssa/20030814-5.c, gcc.dg/tree-ssa/20030814-6.c,
gcc.dg/tree-ssa/20030814-7.c, gcc.dg/tree-ssa/20030815-1.c,
gcc.dg/tree-ssa/20030824-1.c,
gcc.dg/tree-ssa/20030824-2.c, gcc.dg/tree-ssa/20030825-1.c,
gcc.dg/tree-ssa/20030907-1.c, gcc.dg/tree-ssa/20030917-1.c,
gcc.dg/tree-ssa/20030917-3.c, gcc.dg/tree-ssa/20030922-1.c,
gcc.dg/tree-ssa/20030922-2.c, gcc.dg/tree-ssa/20031015-1.c,
gcc.dg/tree-ssa/20031021-1.c, gcc.dg/tree-ssa/20031022-1.c,
gcc.dg/tree-ssa/20031106-1.c, gcc.dg/tree-ssa/20031106-2.c,
gcc.dg/tree-ssa/20031106-3.c, gcc.dg/tree-ssa/20031106-4.c,
gcc.dg/tree-ssa/20031106-5.c, gcc.dg/tree-ssa/20031106-6.c,
gcc.dg/tree-ssa/20031216-1.c, gcc.dg/tree-ssa/20040204-1.c,
gcc.dg/tree-ssa/20040210-1.c, gcc.dg/tree-ssa/20040211-1.c,
gcc.dg/tree-ssa/20040216-1.c, gcc.dg/tree-ssa/20040305-1.c,
gcc.dg/tree-ssa/20040430-1.c, gcc.dg/tree-ssa/20040513-1.c,
gcc.dg/tree-ssa/20040513-2.c, gcc.dg/tree-ssa/20040514-1.c,
gcc.dg/tree-ssa/20040514-2.c, gcc.dg/tree-ssa/20040517-1.c,
gcc.dg/tree-ssa/20040518-1.c, gcc.dg/tree-ssa/20040518-2.c,
gcc.dg/tree-ssa/20040615-1.c, gcc.dg/tree-ssa/20040624-1.c,
gcc.dg/tree-ssa/20040703-1.c, gcc.dg/tree-ssa/20040721-1.c,
gcc.dg/tree-ssa/20040729-1.c, gcc.dg/tree-ssa/20040911-1.c,
gcc.dg/tree-ssa/20041002-1.c, gcc.dg/tree-ssa/20041122-1.c,
gcc.dg/tree-ssa/20050128-1.c, gcc.dg/tree-ssa/20050215-1.c,
gcc.dg/tree-ssa/asm-1.c, gcc.dg/tree-ssa/asm-2.c,
gcc.dg/tree-ssa/asm-3.c, gcc.dg/tree-ssa/cfgcleanup-1.c,
gcc.dg/tree-ssa/complex-1.c, gcc.dg/tree-ssa/complex-2.c,
gcc.dg/tree-ssa/copy-headers.c, gcc.dg/tree-ssa/ifc-20040816-1.c,
gcc.dg/tree-ssa/ifc-20040816-2.c, gcc.dg/tree-ssa/inline_asm-1.c,
gcc.dg/tree-ssa/inline_asm-2.c, gcc.dg/tree-ssa/loop-1.c,
gcc.dg/tree-ssa/loop-2.c, gcc.dg/tree-ssa/loop-3.c,
gcc.dg/tree-ssa/loop-4.c, gcc.dg/tree-ssa/loop-5.c,
gcc.dg/tree-ssa/loop-6.c, gcc.dg/tree-ssa/loop-7.c,
gcc.dg/tree-ssa/ltrans-1.c, gcc.dg/tree-ssa/ltrans-2.c,
gcc.dg/tree-ssa/ltrans-3.c, gcc.dg/tree-ssa/ltrans-4.c,
gcc.dg/tree-ssa/ltrans-5.c, gcc.dg/tree-ssa/pr15349.c,
gcc.dg/tree-ssa/pr15791-3.c, gcc.dg/tree-ssa/pr15791-4.c,
gcc.dg/tree-ssa/pr15791-5.c, gcc.dg/tree-ssa/pr16721.c,
gcc.dg/tree-ssa/pr19633.c, gcc.dg/tree-ssa/sra-1.c,
gcc.dg/tree-ssa/sra-2.c, gcc.dg/tree-ssa/sra-3.c,
gcc.dg/tree-ssa/ssa-ccp-1.c, gcc.dg/tree-ssa/ssa-ccp-10.c,
gcc.dg/tree-ssa/ssa-ccp-11.c, gcc.dg/tree-ssa/ssa-ccp-2.c,
gcc.dg/tree-ssa/ssa-ccp-3.c, gcc.dg/tree-ssa/ssa-ccp-7.c,
gcc.dg/tree-ssa/ssa-ccp-9.c, gcc.dg/tree-ssa/ssa-dce-1.c,
gcc.dg/tree-ssa/ssa-dce-2.c, gcc.dg/tree-ssa/ssa-dce-3.c,
gcc.dg/tree-ssa/ssa-dom-ccp-1.c, gcc.dg/tree-ssa/ssa-dom-cse-1.c,
gcc.dg/tree-ssa/ssa-dom-thread-1.c, gcc.dg/tree-ssa/ssa-pre-1.c,
gcc.dg/tree-ssa/ssa-pre-2.c, gcc.dg/tree-ssa/ssa-pre-3.c,
gcc.dg/tree-ssa/ssa-pre-4.c, gcc.dg/tree-ssa/ssa-pre-5.c,
gcc.dg/tree-ssa/ssa-pre-6.c, gcc.dg/tree-ssa/ssa-sink-1.c,
gcc.dg/tree-ssa/ssa-sink-2.c, gcc.dg/tree-ssa/ssa-sink-3.c,
gcc.dg/tree-ssa/ssa-sink-4.c, gcc.dg/tree-ssa/tailcall-1.c,
gcc.dg/tree-ssa/tailcall-2.c, gcc.dg/tree-ssa/tailrecursion-1.c,
gcc.dg/tree-ssa/tailrecursion-2.c, gcc.dg/tree-ssa/tailrecursion-3.c,
gcc.dg/tree-ssa/tailrecursion-4.c, gcc.dg/tree-ssa/tailrecursion-5.c,
gcc.dg/tree-ssa/useless-1.c: Ditto.
gcc.dg/vect/pr16105.c, gcc.dg/vect/pr18308.c, gcc.dg/vect/pr18400.c,
gcc.dg/vect/pr18425.c, gcc.dg/vect/pr18536.c, gcc.dg/vect/vect-1.c,
gcc.dg/vect/vect-10.c, gcc.dg/vect/vect-11.c, gcc.dg/vect/vect-12.c,
gcc.dg/vect/vect-13.c, gcc.dg/vect/vect-14.c, gcc.dg/vect/vect-15.c,
gcc.dg/vect/vect-16.c, gcc.dg/vect/vect-17.c, gcc.dg/vect/vect-18.c,
gcc.dg/vect/vect-19.c, gcc.dg/vect/vect-2.c, gcc.dg/vect/vect-20.c,
gcc.dg/vect/vect-21.c, gcc.dg/vect/vect-22.c, gcc.dg/vect/vect-23.c,
gcc.dg/vect/vect-24.c, gcc.dg/vect/vect-25.c, gcc.dg/vect/vect-26.c,
gcc.dg/vect/vect-27.c, gcc.dg/vect/vect-28.c, gcc.dg/vect/vect-29.c,
gcc.dg/vect/vect-3.c, gcc.dg/vect/vect-30.c, gcc.dg/vect/vect-31.c,
gcc.dg/vect/vect-32.c, gcc.dg/vect/vect-33.c, gcc.dg/vect/vect-34.c,
gcc.dg/vect/vect-35.c, gcc.dg/vect/vect-36.c, gcc.dg/vect/vect-37.c,
gcc.dg/vect/vect-38.c, gcc.dg/vect/vect-4.c, gcc.dg/vect/vect-40.c,
gcc.dg/vect/vect-41.c, gcc.dg/vect/vect-42.c, gcc.dg/vect/vect-43.c,
gcc.dg/vect/vect-44.c, gcc.dg/vect/vect-45.c, gcc.dg/vect/vect-46.c,
gcc.dg/vect/vect-47.c, gcc.dg/vect/vect-48.c, gcc.dg/vect/vect-49.c,
gcc.dg/vect/vect-5.c, gcc.dg/vect/vect-50.c, gcc.dg/vect/vect-51.c,
gcc.dg/vect/vect-52.c, gcc.dg/vect/vect-53.c, gcc.dg/vect/vect-54.c,
gcc.dg/vect/vect-55.c, gcc.dg/vect/vect-56.c, gcc.dg/vect/vect-57.c,
gcc.dg/vect/vect-58.c, gcc.dg/vect/vect-59.c, gcc.dg/vect/vect-6.c,
gcc.dg/vect/vect-60.c, gcc.dg/vect/vect-61.c, gcc.dg/vect/vect-62.c,
gcc.dg/vect/vect-63.c, gcc.dg/vect/vect-64.c, gcc.dg/vect/vect-65.c,
gcc.dg/vect/vect-66.c, gcc.dg/vect/vect-67.c, gcc.dg/vect/vect-68.c,
gcc.dg/vect/vect-69.c, gcc.dg/vect/vect-7.c, gcc.dg/vect/vect-70.c,
gcc.dg/vect/vect-71.c, gcc.dg/vect/vect-72.c, gcc.dg/vect/vect-73.c,
gcc.dg/vect/vect-74.c, gcc.dg/vect/vect-75.c, gcc.dg/vect/vect-76.c,
gcc.dg/vect/vect-77.c, gcc.dg/vect/vect-78.c, gcc.dg/vect/vect-79.c,
gcc.dg/vect/vect-8.c, gcc.dg/vect/vect-80.c, gcc.dg/vect/vect-82.c,
gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83.c,
gcc.dg/vect/vect-83_64.c, gcc.dg/vect/vect-85.c,
gcc.dg/vect/vect-86.c, gcc.dg/vect/vect-87.c, gcc.dg/vect/vect-88.c,
gcc.dg/vect/vect-89.c, gcc.dg/vect/vect-9.c, gcc.dg/vect/vect-96.c,
gcc.dg/vect/vect-97.c, gcc.dg/vect/vect-98.c, gcc.dg/vect/vect-all.c,
gcc.dg/vect/vect-none.c: Ditto.
* treelang/compile/extrafunc.tree, treelang/compile/extravar.tree,
treelang/compile/unsigned.tree: Ditto.
From-SVN: r97342
2005-03-31 20:34:19 +02:00
|
|
|
/* { dg-final { cleanup-tree-dump "cunroll" } } */
|
2006-01-05 14:53:54 +01:00
|
|
|
/* { dg-final { scan-tree-dump-times "foo" 5 "optimized"} } */
|
|
|
|
/* { dg-final { cleanup-tree-dump "optimized" } } */
|
2005-01-19 17:51:34 +01:00
|
|
|
|
2008-03-04 23:08:08 +01:00
|
|
|
/* Because hppa, ia64 and Windows targets include an external declaration
|
|
|
|
for foo as well as the calls we need to look for something more specific
|
|
|
|
than just foo in order to count only the calls and not the declaration. */
|
2005-08-05 17:51:39 +02:00
|
|
|
/* The SH targets always use separate instructions to load the address
|
|
|
|
and to do the actual call - bsr is only generated by link time
|
|
|
|
relaxation. */
|
2005-10-22 22:28:34 +02:00
|
|
|
/* CRIS keeps the address in a register. */
|
2005-12-22 19:43:21 +01:00
|
|
|
/* m68k sometimes puts the address in a register, depending on CPU and PIC. */
|
2005-01-19 17:51:34 +01:00
|
|
|
|
2015-01-06 09:50:12 +01:00
|
|
|
/* { dg-final { scan-assembler-times "foo" 5 { xfail hppa*-*-* ia64*-*-* sh*-*-* cris-*-* crisv32-*-* fido-*-* m68k-*-* i?86-*-mingw* i?86-*-cygwin* x86_64-*-mingw* visium-*-* } } } */
|
2005-01-19 17:51:34 +01:00
|
|
|
/* { dg-final { scan-assembler-times "foo,%r" 5 { target hppa*-*-* } } } */
|
|
|
|
/* { dg-final { scan-assembler-times "= foo" 5 { target ia64*-*-* } } } */
|
2008-03-04 23:08:08 +01:00
|
|
|
/* { dg-final { scan-assembler-times "call\[ \t\]*_foo" 5 { target i?86-*-mingw* i?86-*-cygwin* } } } */
|
2011-08-07 09:45:57 +02:00
|
|
|
/* { dg-final { scan-assembler-times "call\[ \t\]*foo" 5 { target x86_64-*-mingw* } } } */
|
2007-08-13 11:25:08 +02:00
|
|
|
/* { dg-final { scan-assembler-times "jsr|bsrf|blink\ttr?,r18" 5 { target sh*-*-* } } } */
|
2005-10-22 22:28:34 +02:00
|
|
|
/* { dg-final { scan-assembler-times "Jsr \\\$r" 5 { target cris-*-* } } } */
|
2007-04-15 15:58:40 +02:00
|
|
|
/* { dg-final { scan-assembler-times "\[jb\]sr" 5 { target fido-*-* m68k-*-* } } } */
|
2015-01-06 09:50:12 +01:00
|
|
|
/* { dg-final { scan-assembler-times "bra *tr,r\[1-9\]*,r21" 5 { target visium-*-* } } } */
|