Tom de Vries <tom_devr...@mentor.com> writes: > On 22-04-14 17:27, Richard Sandiford wrote: >> Tom de Vries <tom_devr...@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