[PATCH] Fix ifcvt (PR rtl-optimization/58668)
Wed Jan 8 16:54:00 GMT 2014
>> So like this instead? Bootstrapped/regtested on x86_64-linux and
>> i686-linux. For 4.8 I'd still prefer the earlier patch though.
>> 2013-12-18 Jakub Jelinek <email@example.com>
>> 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.
> This is fine for the trunk. Release manager's call for what they'd prefer on the 4.8 branch.
This caused PR59724 on alpha:
20021116-1.c: In function ‘foo’:
20021116-1.c:31:1: error: NOTE_INSN_BASIC_BLOCK is missing for block 9
20021116-1.c:31:1: error: insn outside basic block
(jump_insn 94 52 93 9 (return) 20021116-1.c:31 -1
More information about the Gcc-patches