[PATCH] D106209: [AbstractAttributor] Fix two issues in folding __kmpc_is_spmd_exec_mode
Shilei Tian via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 17 08:36:36 PDT 2021
tianshilei1992 updated this revision to Diff 359565.
tianshilei1992 added a comment.
check `SimplifiedValue` when empty reaching kernels
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106209/new/
https://reviews.llvm.org/D106209
Files:
llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Index: llvm/lib/Transforms/IPO/OpenMPOpt.cpp
===================================================================
--- llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+++ llvm/lib/Transforms/IPO/OpenMPOpt.cpp
@@ -3196,8 +3196,8 @@
assert(Caller && "Caller is nullptr");
- auto &CAA =
- A.getOrCreateAAFor<AAKernelInfo>(IRPosition::function(*Caller));
+ auto &CAA = A.getOrCreateAAFor<AAKernelInfo>(
+ IRPosition::function(*Caller), this, DepClassTy::REQUIRED);
if (CAA.ReachingKernelEntries.isValidState()) {
ReachingKernelEntries ^= CAA.ReachingKernelEntries;
return true;
@@ -3521,12 +3521,17 @@
// All reaching kernels are in SPMD mode. Update all function calls to
// __kmpc_is_spmd_exec_mode to 1.
SimplifiedValue = ConstantInt::get(Type::getInt8Ty(Ctx), true);
- } else {
+ } else if (KnownNonSPMDCount || AssumedNonSPMDCount) {
assert(KnownSPMDCount == 0 && AssumedSPMDCount == 0 &&
"Expected only non-SPMD kernels!");
// All reaching kernels are in non-SPMD mode. Update all function
// calls to __kmpc_is_spmd_exec_mode to 0.
SimplifiedValue = ConstantInt::get(Type::getInt8Ty(Ctx), false);
+ } else {
+ // We have empty reaching kernels, therefore we cannot tell if the
+ // associated call site can be folded. At this moment, SimplifiedValue
+ // must be none.
+ assert(!SimplifiedValue.hasValue() && "SimplifiedValue should be none");
}
return SimplifiedValue == SimplifiedValueBefore ? ChangeStatus::UNCHANGED
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106209.359565.patch
Type: text/x-patch
Size: 1579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210717/c07b646a/attachment.bin>
More information about the llvm-commits
mailing list