aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2016-06-03 15:47:15 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2016-06-03 13:47:15 +0000
commitbfeee8acaabebf2eb6d4587731b2a639f530293e (patch)
tree9331b21ce69c609b3f1485f3811a5718864dd9ba /gcc
parent859b0bae8e30c1cbf13ee1b1135805671899ff18 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/cp/cp-gimplify.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pred-1.C15
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pred-1.c16
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" } }