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

Reply via email to