[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