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.
Thanks,
- Tom
Thanks,
Richard