[PATCH] D116031: [ArgPromotion][TTI] Pass types to ABI compatibility hook

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 21 12:01:17 PST 2021


dblaikie added a comment.

In D116031#3205388 <https://reviews.llvm.org/D116031#3205388>, @nikic wrote:

> In D116031#3205086 <https://reviews.llvm.org/D116031#3205086>, @dblaikie wrote:
>
>> Sounds OK. Another possibility might be splitting the operations - one to test function compatibility (eg: the subtarget AVX checks in x86) and another to test a particular arg/return type. This would mean more virtual calls (one for each type instead of a batch - well, the API could still take ArrayRef for cases where you already have multiple types in a buffer) but wouldn't require allocating a new buffer to fill with types to then pass in? But maybe the number's usually low, so the buffer creation overhead isn't high?
>
> I think generally the check for target features and types does need to be combined, because the specific difference in target attributes decides whether the call ABI for a particular type changes or not. None of our existing implementations actually try to model things that precisely, but from a conceptual point of view these are interdependent. In any case, I don't think compile-time really matters for this API.

Ah, sounds good!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116031/new/

https://reviews.llvm.org/D116031



More information about the llvm-commits mailing list