[Bug rtl-optimization/38449] New: delay branch scheduling follows REG_CROSSING_JUMP jumps indiscriminately
amylaar at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Dec 8 19:34:00 GMT 2008
I see an assemble failure for gcc.dg/tree-prof/bb-reorg.c; compare-and-branch
instructions are modified to jump to another section.
Some jumps simply can't be made cross-section; one for the ones that can, it
is essential that the REG_CROSSING_JUMP note is added.
I have this patch:
* hooks.c (hook_bool_const_rtx_const_rtx_true): New function.
* hooks.h (hook_bool_const_rtx_const_rtx_true): Declare.
* target.h (can_follow_jump): New hook.
* target-def.h (TARGET_CAN_FOLLOW_JUMP): Define.
(TARGET_INITIALIZER): Include it.
* reorg.c (follow_jumps): New parameters jump and cp.
Changed all callers.
* config/arc/arc.c (arc_can_follow_jump): New function.
(TARGET_CAN_FOLLOW_JUMP): Override.
* config/arc/arc.md (jump_i): If a REG_CROSSING_JUMP is present,
length is 4.
Which I can post with a tm.texi patch once our Copyright assignment has been
acknowledged.
--
Summary: delay branch scheduling follows REG_CROSSING_JUMP jumps
indiscriminately
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: assemble-failure
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: amylaar at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38449
More information about the Gcc-bugs
mailing list