aboutsummaryrefslogtreecommitdiff
path: root/gcc/ifcvt.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-01-07 08:54:47 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-01-07 08:54:47 +0100
commita0cbe71e87398b958cc88f5e3a7529cb9e1fd137 (patch)
tree9eaf6483aea9b5e5509844108efd82f4c23d2465 /gcc/ifcvt.c
parent41626746d0bd5aaff66a5489e80781917be881da (diff)
downloadgcc-a0cbe71e87398b958cc88f5e3a7529cb9e1fd137.zip
gcc-a0cbe71e87398b958cc88f5e3a7529cb9e1fd137.tar.gz
gcc-a0cbe71e87398b958cc88f5e3a7529cb9e1fd137.tar.bz2
re PR rtl-optimization/58668 (internal compiler error: in cond_exec_process_insns, at ifcvt.c:339)
PR rtl-optimization/58668 * cfgcleanup.c (flow_find_cross_jump): Don't count any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p to determine what is counted. (flow_find_head_matching_sequence): Use active_insn_p to determine what is counted. (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence counting change. * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to determine what is counted. * gcc.dg/pr58668.c: New test. From-SVN: r206385
Diffstat (limited to 'gcc/ifcvt.c')
-rw-r--r--gcc/ifcvt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index 3984535..aaed2d0 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -118,7 +118,7 @@ count_bb_insns (const_basic_block bb)
while (1)
{
- if (CALL_P (insn) || NONJUMP_INSN_P (insn))
+ if (active_insn_p (insn) && !JUMP_P (insn))
count++;
if (insn == BB_END (bb))