[PATCH] D105787: [WIP][AbstractAttributor] Fold function calls to `__kmpc_is_spmd_exec_mode` if possible

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 11 19:35:24 PDT 2021


jdoerfert added a comment.

We need to properly tack when SPMDCompatibility is known.



================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:3350
     case OMPRTL___kmpc_is_spmd_exec_mode:
+      return;
     case OMPRTL___kmpc_for_static_fini:
----------------
I don't think we need this anymore, do we?


================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:3431
+    : public StateWrapper<KernelInfoState, AbstractAttribute> {
+  using Base = StateWrapper<KernelInfoState, AbstractAttribute>;
+
----------------
Do we need/want a KernelInfoState here? Wouldn't a BooleanState suffice to do the tacking of valid/invalid and fixpoint. Plus the `  Optional<Constant *> SimplifiedValue;`.


================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:3480
+    A.registerSimplificationCallback(
+        IRPosition::callsite_function(CB),
+        [&](const IRPosition &IRP, const AbstractAttribute *AA,
----------------



================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:3565
+
+    indicateOptimisticFixpoint();
+
----------------
tianshilei1992 wrote:
> This might not be always true. What if later there is a kernel entry in another mode?
I don't think that can happen


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105787/new/

https://reviews.llvm.org/D105787



More information about the llvm-commits mailing list