On Wednesday, December 18, 2013, Jakub Jelinek wrote: > > Hi! > > As discussed in the PR, this testcase ICEs on arm, because ifcvt > is relying on active instruction counts from various routines > (count_bb_insns, flow_find_cross_jump and flow_find_head_matching_sequence), > but each of those routines have different view of what counts as > active insns. > > Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux > and tested on the testcase using cross to arm. Ok for trunk? > > 2013-12-18 Jakub Jelinek <> > PR rtl-optimization/58668 > * cfgcleanup.c (flow_find_cross_jump): Don't count > any jumps if dir_p is NULL. Remove p1 variable and make USE/CLOBBER > check consistent with other places. > (flow_find_head_matching_sequence): Don't count USE or CLOBBER insns. > (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence > counting change. > * ifcvt.c (count_bb_insns): Don't count USE or CLOBBER insns.
Why not use active_insn_p instead of hand-checks for USE and CLOBBER insns? Ciao! Steven