[llvm] [SandboxVec][DAG] MemDGNode for memory-dependency candidate nodes (PR #109684)
Alina Sbirlea via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 1 09:51:00 PDT 2024
================
@@ -77,10 +136,20 @@ class DependencyGraph {
auto It = InstrToNodeMap.find(I);
return It != InstrToNodeMap.end() ? It->second.get() : nullptr;
}
+ /// Like getNode() but returns nullptr if \p I is nullptr.
+ DGNode *getNodeOrNull(Instruction *I) const {
+ if (I == nullptr)
+ return nullptr;
+ return getNode(I);
+ }
DGNode *getOrCreateNode(Instruction *I) {
auto [It, NotInMap] = InstrToNodeMap.try_emplace(I);
- if (NotInMap)
- It->second = std::make_unique<DGNode>(I);
+ if (NotInMap) {
+ if (I->isMemDepCandidate() || I->isStackSaveOrRestoreIntrinsic())
----------------
alinas wrote:
These conditions shouldn't be the same as in the static isMemDepCandidate?
https://github.com/llvm/llvm-project/pull/109684
More information about the llvm-commits
mailing list