[OpenMP] Manually unroll the argument copy loop
authorJoseph Huber <jhuber6@vols.utk.edu>
Mon, 21 Mar 2022 23:53:05 +0000 (19:53 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Tue, 22 Mar 2022 00:54:11 +0000 (20:54 -0400)
commita619072c6189a2eac82e30d5ebb5946cb1297281
tree434a8ab002658157c0d905236420417aa12eaec9
parent2362c4ecdc88123e5d54c7ebe30889fbfa760a88
[OpenMP] Manually unroll the argument copy loop

The unroll pragma did not properly work as the loop bound was not known
when we optimize the runtime and we then added a "unroll disable"
metadata which prevented unrolling later when the bounds were known.
For now we manually unroll to make sure up to 16 elements are handled
nicely. This helps optimizations to look through the argument passing.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109164
openmp/libomptarget/DeviceRTL/src/Parallelism.cpp