diff options
author | Jan Hubicka <jh@suse.cz> | 2016-06-03 15:47:15 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-06-03 13:47:15 +0000 |
commit | bfeee8acaabebf2eb6d4587731b2a639f530293e (patch) | |
tree | 9331b21ce69c609b3f1485f3811a5718864dd9ba /gcc | |
parent | 859b0bae8e30c1cbf13ee1b1135805671899ff18 (diff) | |
download | gcc-bfeee8acaabebf2eb6d4587731b2a639f530293e.zip gcc-bfeee8acaabebf2eb6d4587731b2a639f530293e.tar.gz gcc-bfeee8acaabebf2eb6d4587731b2a639f530293e.tar.bz2 |
pred-1.C: New testcase
* g++.dg/tree-ssa/pred-1.C: New testcase
* gcc.dg/tree-ssa/pred-1.c: New testcase
* cp-gimplify.c (genericize_continue_stmt): Force addition of
predict stmt.
From-SVN: r237068
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/cp-gimplify.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/tree-ssa/pred-1.C | 15 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pred-1.c | 16 |
5 files changed, 42 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fba9aa9..69d3da1 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2016-06-02 Jan Hubicka <jh@suse.cz> + + * cp-gimplify.c (genericize_continue_stmt): Force addition of + predict stmt. + 2016-06-02 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (xref_tag_1): Change pairs of errors to error + inform. diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index 4fc8ba1..72ba50e 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -362,7 +362,7 @@ genericize_continue_stmt (tree *stmt_p) tree label = get_bc_label (bc_continue); location_t location = EXPR_LOCATION (*stmt_p); tree jump = build1_loc (location, GOTO_EXPR, void_type_node, label); - append_to_statement_list (pred, &stmt_list); + append_to_statement_list_force (pred, &stmt_list); append_to_statement_list (jump, &stmt_list); *stmt_p = stmt_list; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 00e4ce6..c567f75 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-06-03 Jan Hubicka <jh@suse.cz> + + * g++.dg/tree-ssa/pred-1.C: New testcase + * gcc.dg/tree-ssa/pred-1.c: New testcase + 2016-06-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/70957 diff --git a/gcc/testsuite/g++.dg/tree-ssa/pred-1.C b/gcc/testsuite/g++.dg/tree-ssa/pred-1.C new file mode 100644 index 0000000..01b065e --- /dev/null +++ b/gcc/testsuite/g++.dg/tree-ssa/pred-1.C @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-profile_estimate" } */ +int a[100]; +void foo(int); +main() +{ + int i; + for (i=0;i<100;i++) + { + if (a[i]) + continue; + foo(i); + } +} +// { dg-final { scan-tree-dump "continue heuristics" "profile_estimate" } } diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pred-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pred-1.c new file mode 100644 index 0000000..97e3cb7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pred-1.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-profile_estimate" } */ +int a[100]; +void foo(int); +int +main() +{ + int i; + for (i=0;i<100;i++) + { + if (a[i]) + continue; + foo(i); + } +} +// { dg-final { scan-tree-dump "continue heuristics" "profile_estimate" } } |