This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH/RFA] SH: work around insn duplication issues
- From: kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
- To: joern dot rennecke at superh dot com
- Cc: gcc-patches at gcc dot gnu dot org, rth at redhat dot com, aoliva at redhat dot com
- Date: Wed, 19 Feb 2003 10:15:46 +0900
- Subject: Re: [PATCH/RFA] SH: work around insn duplication issues
- References: <3E527308.CD0B8F6D@superh.com>
Joern Rennecke <joern.rennecke@superh.com> wrote:
>> * config/sh/sh.c (unspec_caller_rtx_p): New.
>> (sh_cannot_copy_insn_p): New.
>> (TARGET_CANNOT_COPY_INSN_P): New.
>
> OK for now.
Thanks. I'll check it in ASAP.
> In order to allow basic block reordering in some of the
> affected cases, we have to consider that the load can
> be copied without the call, but the call cannot be copied
> without the load. Of course, if the load was duplicated first,
> the call would have to be copied together with all the loads,
> or not at all. So we'd want to change the insn patterns to
> reference each other (e.g. we could have an insn_list inside
> the unspecs), and have a target hook that is kind of a copy
> constructor that can fail. The function used for the default
> setting of that hook - plain copying with label mapping -
> should be global so that it can be used to handle the ordinary
> cases in the various target specific definitions for this hook.
I didn't consider it. Thank you for the explanation.
Regards,
kaz