I think I've finally found the problem. It would appear that if you do
not explicitly add a note of type REG_CALL_DECL that specifies the
function declaration then it will ignore whatever you've supplied with
add_function_usage_to(). Instead, it will replace it with the target's
default register clobber value which is almost everything:
regs_invalidated_by_call is a macro defined in hard-reg-set.h and
expands to (this_target_hard_regs->x_regs_invalidated_by_call).
So it would seem that I need some type of function declaration.