[PATCH] D92189: [OpenMPIRBuilder] forward arguments as pointers to outlined function
Lubomir Litchev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 1 09:10:28 PST 2020
llitchev added a comment.
In D92189#2425639 <https://reviews.llvm.org/D92189#2425639>, @jdoerfert wrote:
> While only partially related, can you leave a FIXME saying that more than 15 arguments need to be packed in a structure?
Yes, the number of varargs that is guarantee to work is 15, if more are needed, there is a need to wrap the parameters in a struct.
As we discussed (bring it here too) the issue here is how parameters are passed following the calling convention. The varargs assumes that parameters are passed in GPR (INTEGER classifications based on the calling conventions). The varargs approach works fine for the INTEGER classified args. It breaks for the SSE(UP) and vector clarified parameters. If we pass the pointers to the SSE params (floats for example) everything will work - pointers are INTEGER classification.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92189/new/
https://reviews.llvm.org/D92189
More information about the cfe-commits
mailing list