This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/80491] [6/7/8 Regression] Compiler regression for long-add case.
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 26 Apr 2017 14:37:10 +0000
- Subject: [Bug rtl-optimization/80491] [6/7/8 Regression] Compiler regression for long-add case.
- Auto-submitted: auto-generated
- References: <bug-80491-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80491
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #7)
> (In reply to Jakub Jelinek from comment #6)
> > Segher, any idea what can be done about the second (combiner) issue?
> > Is it possible to special case MODE_CC class hard registers that are just
> > clobbered on the i2 insn using a separate clobber in a parallel (so the
> > single_set in that case which is what we try to substitute doesn't clobber
> > it)
> > and not in insns in between i1 and i2 and i2 and i3?
>
> Should we bail out at all here?
Maybe not. My combiner knowledge is limited.
> Why would we care if the original insns
> clobbered some reg; what matters is if the insns combine comes up with do?
>
> This is even true for SETs instead of CLOBBERs, if the SET isn't needed.
But then we need to be able to ask whether something is clobbered or set in
between the instructions and ignore those instructions.
No idea what use_crosses_set_p replacement would be for that.