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 rtl-optimization/63348] [5 Regression] gcc.dg/pr43670.c fail on MIPS


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63348

--- Comment #2 from UroÅ Bizjak <ubizjak at gmail dot com> ---
(In reply to baoshan from comment #1)
> I believe this regression is introduced by the code for cleanup_barriers()
> in jump.c of patch https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02164.html:
> 
> The call insn was followed by a barrier insn, the try_split() would emit
> another barrier insn after call insn for this case( I don't know why, please
> let me know the reason); after applying that patch and with option "-g"
> there would be a note instruction between the call and barrier insns which
> result no barrier insn is emitted by try_split().

try_split should skip eventual note after the call when looking for barrier. It
looks to me that try_split blindly assumes that next insn is the barrier, which
is not the case from the introduction of debug locations.

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