This is the mail archive of the gcc-patches@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]

Re: fuse-caller-save - hook format


Tom de Vries <Tom_deVries@mentor.com> writes:

> On 22-04-14 17:27, Richard Sandiford wrote:
>> Tom de Vries <Tom_deVries@mentor.com> writes:
>>> 2. post_expand_call_insn.
>>> A utility hook to facilitate adding the clobbers to CALL_INSN_FUNCTION_USAGE.
>>
>> Why is this needed though?  Like I say, I think targets should update
>> CALL_INSN_FUNCTION_USAGE when emitting calls as part of the call expander.
>> Splitting the functionality of the call expanders across the define_expand
>> and a new hook just makes things unnecessarily complicated IMO.
>>
>
> Richard,
>
> It is not needed, but it is convenient.
>
> There are targets where the define_expands for calls use the rtl template. 
> Having to add clobbers to the CALL_INSN_FUNCTION_USAGE for such a target means 
> you cannot use the rtl template any more and instead need to generate
> all needed
> RTL insns in C code.
>
> This hook means that you can keep using the rtl template, which is less 
> intrusive for those targets.

But if the target is simple enough to use a single call pattern for call
cases, wouldn't it be possible to add the clobber directly to the call
pattern?  Which target do you have in mind?

Thanks,
Richard


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