This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/46499] [4.5/4.6 Regression] gcc.c-torture/execute/20051021-1.c FAILs with -fno-tree-dominator-opts -fno-tree-ccp


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46499

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-22 14:10:16 UTC ---
Created attachment 22483
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22483
gcc46-pr46499.patch

Untested fix.  We have since last:
(jump_insn 8 7 9 (set (pc)
        (label_ref 0)) pr46499-1.c:26 -1
     (nil))

(barrier 9 8 10)

(jump_insn 10 9 11 (set (pc)
        (label_ref 0)) pr46499-1.c:26 -1
     (nil))

(barrier 11 10 0)

and maybe_cleanup_end_of_basic_block, as it sees there is no drop through label
and thus all jumps must go to the other edge, decides to remove the first jump,
but doesn't remove the barrier right after it, and a barrier left in the middle
of a bb after no insn that could cause the barrier of course confuses
everything and is wrong, because we really want to jump to the target label
instead of assuming the spot is never reachable.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]