This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/39247] FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Oct 2009 15:50:51 -0000
- Subject: [Bug target/39247] FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE
- References: <bug-39247-276@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from rearnsha at gcc dot gnu dot org 2009-10-19 15:50 -------
(In reply to comment #6)
> You should not depend on NOTE_INSN_SWITCH_TEXT_SECTIONS. There are other ways
> to see if a jump goes from one section to another: edge->flags & EDGE_CROSSING
> (preferred), and REG_CROSSING_JUMP notes (more reliable in post-pass_free_cfg
> world).
>
> There is no hook to disable the hot-cold partitioning pass right now. For thumb
> mode, the ARM back end should just set flag_reorder_blocks_and_partition = 0,
> like Xtensa and MIPS (for MIPS16 mode) already do, for similar reasons.
>
Indeed. In fact even for ARM state, we can only support this option if both
the insn-address code correctly separates hot and cold addresses (and I suspect
it doesn't) and the literal-pool extraction code correctly extracts the above
information (which it certainly doesn't).
So at present we have no choice but to disable this optimization for all ARM
configurations.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39247