diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2018-07-09 17:45:33 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2018-07-09 17:45:33 +0000 |
commit | 39ada85446d29ffe95a9c8dd558dbd68118f4525 (patch) | |
tree | a99fd3f7e0872c26fe0a363134ccce288b898134 /lldb/packages/Python/lldbsuite/test | |
parent | b99dcb5f31049381a7ca29def6edeb48da3217b0 (diff) | |
download | bcm5719-llvm-39ada85446d29ffe95a9c8dd558dbd68118f4525.tar.gz bcm5719-llvm-39ada85446d29ffe95a9c8dd558dbd68118f4525.zip |
[OpenMP] Restructure loop code for hierarchical scheduling
This patch reorganizes the loop scheduling code in order to allow hierarchical
scheduling to use it more effectively. In particular, the goal of this patch
is to separate the algorithmic parts of the scheduling from the thread
logistics code.
Moves declarations & structures to kmp_dispatch.h for easier access in
other files. Extracts the algorithmic part of __kmp_dispatch_init() and
__kmp_dispatch_next() into __kmp_dispatch_init_algorithm() and
__kmp_dispatch_next_algorithm(). The thread bookkeeping logic is still kept in
__kmp_dispatch_init() and __kmp_dispatch_next(). This is done because the
hierarchical scheduler needs to access the scheduling logic without the
bookkeeping logic. To prepare for new pointer in dispatch_private_info_t, a
new flags variable is created which stores the ordered and nomerge flags instead
of them being in two separate variables. This will keep the
dispatch_private_info_t structure the same size.
Differential Revision: https://reviews.llvm.org/D47961
llvm-svn: 336568
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions