On 01/22/2016 12:44 AM, Andreas Krebbel wrote:
On 01/22/2016 12:10 AM, Jeff Law wrote:
On 01/21/2016 03:05 AM, Andreas Krebbel wrote:
On 01/02/2016 08:16 PM, Marcin Kościelnicki wrote:
When an unconditional jump with side effects targets an immediately
following label, rtl_tidy_fallthru_edge is called. Since it has side
effects, it doesn't remove the jump, but the label is still marked
as fallthru. This later causes a verification error. Do nothing in this
case instead.
gcc/ChangeLog:
* cfgrtl.c (rtl_tidy_fallthru_edge): Bail for unconditional jumps
with side effects.
The change looks ok to me (although I'm not able to approve it). Could you
please run regressions
tests on x86_64 with that change?
Perhaps a short comment in the code would be good.
I think the patch is technically fine, the question is does it fix a
visible bug? I read the series as new feature enablement so I put this
patch into my gcc7 queue.
We need the patch for the S/390 split-stack implementation which we would like
to see in GCC 6. I'm
aware that this isn't stage 3 material but people seem to have reasons to
really want split stack on
S/390 asap and we would have to backport this feature anyway. Therefore I would
prefer to have it in
the official release already. That's the only common code change we would need
for that.
I've started a bootstrap and regression test for the patch also on Power.
Do you see a chance we can get this into GCC 6?
So I think it'd largely depend on what you do with the s390 specific
bits -- if you decide to drop those in (ISTM that's your call), then I
think adding the cfgrtl patch is probably the wise thing to do. So
consider it approved for gcc-6 if/when you decide to go forward with the
s390 specific bits.
FWIW, the PA might run afoul of the code you're fixing as well. It's got
add[i]b,tr and mov[i]b,tr which are unconditional jumps with other side
effects. We never really used them all that much and once the PA8000
series came out, they were actually a performance lose, so they were
disabled on the "modern" PA machines.
Jeff