[PATCH] D28870: [OpenMP] Add an OpenMP pass for redundant runtime library call removal
Lingda Li via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 18 13:26:17 PST 2017
lildmh created this revision.
Herald added subscribers: mgorny, mehdi_amini, sanjoy.
Herald added a reviewer: deadalnix.
This patch implements redundant OpenMP barrier & flush calls removal to optimize OpenMP performance. There are implicit barrier & flush calls in many places for OpenMP programs (e.g., at the end of a parallel region). Together with explicit calls written by programmers, it is possible to have redundant barrier & flush calls, which can adversely affect performance. Currently there is no mechanism in LLVM to eliminate these redundant calls. In this patch, we create a transformation pass to check all barrier and flush calls within a basic block and see if they are necessary. If not, they are removed from the program. We also plan to continue developing this code to handle more complex situations.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 16743 bytes
Desc: not available
More information about the llvm-commits