[PATCH] D69930: [OpenMP] Introduce the OpenMPOpt transformation pass
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 23 13:16:40 PST 2019
lebedev.ri added a comment.
I'm really not the best person to review this :/
It seems generally within what'd expect, but i'm not really familiar with SCC passes.
Some thoughts:
================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:35
+
+static constexpr auto TAG = "[OpenMPOpt] ";
+
----------------
Traditionally `DEBUG_TYPE` itself is used for this.
================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:116
+ Value *GTIdArg = nullptr;
+ llvm::any_of(F->args(), [&](Argument &Arg) {
+ return GTIdArg = GTIdArgs.count(&Arg) ? &Arg : nullptr;
----------------
I'm guessing this is 'llvm::for_each() but until first match'?
Maybe something like
Value *GTIdArg = find_if() be better?
================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:214-215
+ // Transitively search for more arguments by looking at the users of the
+ // ones we know already.
+ for (unsigned u = 0; u < GTIdArgs.size(); ++u)
+ AddUserArgs(*GTIdArgs[u]);
----------------
Here and elsewhere: i'm guessing `AddUserArgs()` will update `GTIdArgs` so it must not be range-based for and we can't precache `GTIdArgs.size()`. This should be commented.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69930/new/
https://reviews.llvm.org/D69930
More information about the llvm-commits
mailing list