[PATCH] D132045: [OpenMPOpt] Improving memory transfer latency hiding

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 24 10:05:13 PDT 2022


jdoerfert added inline comments.


================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:4401
+    }
+  }
+  return DomBlock;
----------------
Similar to the other comment, keep a visited set. that also allows to avoid the linear search in the vector which causes quadratic behavior here since you do it for every entry.
We also need to cache the accessibility queries. Probably best to go from B upwards instead of Dom downwards. You will only visit the blocks that can reach B that way without needing any check.


================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:4460
+  return true;
+}
+
----------------
This should be combined with the issue rtc in orig bb, maybe use a flag.


================
Comment at: llvm/lib/Transforms/IPO/OpenMPOpt.cpp:4520
+    if (moveIssueRTCInBB(IssueWrapperCall, CurrentBB, AA))
+      Changed = true;
+
----------------
jdoerfert wrote:
> The move code here should go into the moveIssue helper. No need to split it into two parts.
At least have a single helper to move the issue stuff, which then call call the block helper if we need to split it.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132045



More information about the llvm-commits mailing list