diff options
author | Jakub Jelinek <jakub@redhat.com> | 2014-01-07 08:54:47 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2014-01-07 08:54:47 +0100 |
commit | a0cbe71e87398b958cc88f5e3a7529cb9e1fd137 (patch) | |
tree | 9eaf6483aea9b5e5509844108efd82f4c23d2465 /gcc/ifcvt.c | |
parent | 41626746d0bd5aaff66a5489e80781917be881da (diff) | |
download | gcc-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.c | 2 |
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)) |