[PATCH] D90909: [OpenMPOpt] Expand parallel region merging
Giorgis Georgakoudis via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 6 12:46:02 PST 2020
ggeorgakoudis added inline comments.
================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:613
+ {OMPRTL___kmpc_push_proc_bind, true},
+ {OMPRTL___kmpc_push_num_threads, true}};
----------------
jdoerfert wrote:
> Don't we have to proof the absence of these calls and not "look for them". I mean `foobar` is not one of them but could call one of them, right?
Yup, you're absolutely right. I was short sighted. We either have to check that there is no callpath from an in-between instruction to one of those functions and abort merging the affected regions, or entirely bail out from merging when there is any one of them declared, as we were doing before. I probably need to include omp_proc_bind and look for others too.
Also it got me thinking. What if there's a kpmc_fork_call inside a function call in the sequential region? Can a fork call be called within a master sequential region? Need to find out more.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90909/new/
https://reviews.llvm.org/D90909
More information about the llvm-commits
mailing list