[PATCH] D63551: [GlobalISel] Accept multiple vregs for lowerCall's arguments

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 25 13:44:58 PDT 2019


aemerson added a comment.

In D63551#1557215 <https://reviews.llvm.org/D63551#1557215>, @rovka wrote:

> Hi Amara,
>
> Is something like this OK for intrinsics: https://reviews.llvm.org/differential/diff/206394/ ? It has the disadvantage that if we have an intrinsic with 2 aggregate args, it will be hard to tell where one of them ends and the next one begins. OTOH, I'm having trouble finding intrinsics with even one aggregate parameter, and in fact just using getOrCreateVReg there doesn't cause check-all to crash (nor the test-suite, nor selfhost at -O0 on AArch64).
>
> Alternatively, we could preserve the old interface here and try to move pack/unpackRegs to utils, where we can use them from both the IRTranslator and CallLowering.
>
> Either way, it would be nice to be able to add a test-case before changing this interface, but like I said I don't really know my way around intrinsics that well. Any suggestions?


You're probably right, I can't think of an intrinsic for a test case. I think we should actually fall back if getOrCreateVRegs() ever returns multiple vregs there, we can cross that bridge when we come to it (if ever).


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

https://reviews.llvm.org/D63551





More information about the llvm-commits mailing list