aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-06-25 18:38:25 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-06-25 18:38:25 +0000
commit5c8b27d7da8d5ba797bb4156caef9ad855f4d96d (patch)
tree8924ea7be3d0df196bea2329078a656b81b7d462 /gcc/tree-if-conv.c
parent29caa68aa5ee0e2defeb6331d15b458f3e6853ba (diff)
downloadgcc-5c8b27d7da8d5ba797bb4156caef9ad855f4d96d.zip
gcc-5c8b27d7da8d5ba797bb4156caef9ad855f4d96d.tar.gz
gcc-5c8b27d7da8d5ba797bb4156caef9ad855f4d96d.tar.bz2
Do not insert statements computing the true predicate.
2010-06-25 Sebastian Pop <sebastian.pop@amd.com> * tree-if-conv.c (insert_gimplified_predicates): Do not insert statements computing the true predicate. From-SVN: r161398
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 80a53a8..8d5d226 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -1021,6 +1021,15 @@ insert_gimplified_predicates (loop_p loop)
basic_block bb = ifc_bbs[i];
gimple_seq stmts = bb_predicate_gimplified_stmts (bb);
+ if (!is_predicated (bb))
+ {
+ /* Do not insert statements for a basic block that is not
+ predicated. Also make sure that the predicate of the
+ basic block is set to true. */
+ reset_bb_predicate (bb);
+ continue;
+ }
+
if (stmts)
{
gimple_stmt_iterator gsi = gsi_last_bb (bb);