This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix PR44281 (bad RA with global regs)
- From: Bernd Schmidt <bschmidt at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 26 Feb 2016 16:41:50 +0100
- Subject: Re: Fix PR44281 (bad RA with global regs)
- Authentication-results: sourceware.org; auth=none
- References: <56C78C62 dot 7050204 at t-online dot de> <56C79116 dot 2050503 at redhat dot com> <CAFiYyc3xBcxLfO0Rm2v0v-LPfAAGtiapPtF=eF33BTfey8bccQ at mail dot gmail dot com>
On 02/22/2016 03:37 PM, Richard Biener wrote:
Do calls properly clobber them even if they are not in the set of
call-clobbered regs?
Are asm()s properly using/clobbering them? I think you are allowed to use them
in asm()s without adding constraints for them?
Calls do, asms currently don't AFAICT. Not sure whether it's allowed to
use them, but I think it should be straightforward to adjust df-scan.
Michael Matz wrote:
Some jit-like code uses global reg vars to
reserve registers for the generated code. It would have to add
-ffixed-<name> compilation options instead of only the global vars after
the patch. I think the advantages of having "good RA" with global reg
vars are dubious enough to not warrant breaking backward compatibility.
I don't see the need for new options - if we have proper live info for
calls and asms, what other reason could there be for incomplete liveness
information?
RB:
> I'd say this is sth for GCC 7.
Not really objecting to that. Would you ack it if I extended df-scan for
the asm case?
Bernd