aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadupdate.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-04-20 11:13:52 -0600
committerJeff Law <law@gcc.gnu.org>2015-04-20 11:13:52 -0600
commit6581c1cffb859a2d8808f39f4bf1c94d5a638e0b (patch)
treeaec091096fa8a09febba266c0e554df6c5a823ba /gcc/tree-ssa-threadupdate.c
parent06aca1d5db0b88e8b6d1785c39ea2bff22d53569 (diff)
downloadgcc-6581c1cffb859a2d8808f39f4bf1c94d5a638e0b.zip
gcc-6581c1cffb859a2d8808f39f4bf1c94d5a638e0b.tar.gz
gcc-6581c1cffb859a2d8808f39f4bf1c94d5a638e0b.tar.bz2
re PR tree-optimization/65658 (Jump threading too pessimistic when optimizing for size)
PR tree-optimization/65658 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber statements too. PR tree-optimization/65658 * gcc.dg/pr65658.c: New test. From-SVN: r222242
Diffstat (limited to 'gcc/tree-ssa-threadupdate.c')
-rw-r--r--gcc/tree-ssa-threadupdate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 709b16e..9f263bd 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -1449,7 +1449,9 @@ redirection_block_p (basic_block bb)
while (!gsi_end_p (gsi)
&& (gimple_code (gsi_stmt (gsi)) == GIMPLE_LABEL
|| is_gimple_debug (gsi_stmt (gsi))
- || gimple_nop_p (gsi_stmt (gsi))))
+ || gimple_nop_p (gsi_stmt (gsi))
+ || (gimple_code (gsi_stmt (gsi)) == GIMPLE_ASSIGN
+ && gimple_clobber_p (gsi_stmt (gsi)))))
gsi_next (&gsi);
/* Check if this is an empty block. */