[OpenMPOpt][HideMemTransfersLatency] Moving the 'wait' counterpart of __tgt_target_da...
authorHamilton Tobon Mosquera <htobonmm7@gmail.com>
Wed, 19 Aug 2020 16:03:23 +0000 (11:03 -0500)
committerHamilton Tobon Mosquera <htobonmm7@gmail.com>
Wed, 19 Aug 2020 16:42:22 +0000 (11:42 -0500)
commitbd2fa1819b9dc1a863a4b5a8abc540598f56c8f2
tree022cf794ce919987e9141484dc273d93b7cb4f67
parent6b742cc48d91f35bfa98844d5add3655f33f8326
[OpenMPOpt][HideMemTransfersLatency] Moving the 'wait' counterpart of __tgt_target_data_begin_mapper

canBeMovedDownwards checks if the "wait" counterpart of __tgt_target_data_begin_mapper can be moved downwards, returning a pointer to the instruction that might require/modify the data transferred, and returning null it the movement is not possible or not worth it. The function splitTargetDataBeginRTC receives that returned instruction and instead of moving the "wait" it creates it at that point.

Differential Revision: https://reviews.llvm.org/D86155
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
llvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll