[PATCH] Re: Option -fprofile-arcs fails for target avr and fr30

Nathan Sidwell nathan@codesourcery.com
Mon May 19 09:20:00 GMT 2003


Jie Zhang wrote:

> The following patch may fix this problem.
> 
> - J
> 
> 
> 2003-05-12  Jie Zhang  <zhangjie@magima.com.cn>
> 
>        Fix the FAILs of gcc.misc-tests/bprob-1.c and 
> gcc.misc-tests/bprob-2.c
>        on target avr and fr30.
>        * cfgbuild.c (make_edges): Find JUMP_LABELs for the new JUMP_INSNs
>        introduced by instrument code after jump optimization pass.
It would probably be sensible to only enable that code when flag_profile_arcs
is true -- otherwise you might be hiding a bug in GCC. Jan, what do you
think?

nathan

> --- cfgbuild.c  2003-01-09 20:40:44.000000000 +0800
> +++ cfgbuild-new.c      2003-05-19 09:58:23.000000000 +0800
> @@ -398,8 +398,17 @@ make_edges (label_value_list, min, max,
>          /* Otherwise, we have a plain conditional or unconditional 
> jump.  */
>          else
>            {
> +              rtx tmp;
> +
> +              /* Instrument code may introduce new JUMP_INSNs after jump
> +                 optimization pass. So we find JUMP_LABELs for these new
> +                 JUMP_INSNs. */
> +              if (! JUMP_LABEL (insn) && (tmp = condjump_label (insn)))
> +                JUMP_LABEL (insn) = XEXP (tmp, 0);
> +
>              if (! JUMP_LABEL (insn))
>                abort ();
> +
>              make_label_edge (edge_cache, bb, JUMP_LABEL (insn), 0);
>            }
>        }
> 


-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
          The voices in my head said this was stupid too
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the Gcc mailing list