From 028a3e0b439a8d41c4994c6b4a2b68333f7af28c Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Tue, 8 Jul 2025 10:37:23 -0700 Subject: [PATCH] [NFC][SYCL][Graph] Use raw `node_impl` ptr/ref in node<->event mapping Continuation of https://github.com/intel/llvm/pull/19295 https://github.com/intel/llvm/pull/19332 https://github.com/intel/llvm/pull/19334 https://github.com/intel/llvm/pull/19350 https://github.com/intel/llvm/pull/19352 --- sycl/source/detail/async_alloc.cpp | 8 +- sycl/source/detail/graph/graph_impl.cpp | 12 +-- sycl/source/detail/graph/graph_impl.hpp | 20 ++-- sycl/source/handler.cpp | 2 +- .../Extensions/CommandGraph/Barrier.cpp | 97 +++++++++---------- 5 files changed, 67 insertions(+), 72 deletions(-) diff --git a/sycl/source/detail/async_alloc.cpp b/sycl/source/detail/async_alloc.cpp index c9337350a5ad1..9b53663d28cca 100644 --- a/sycl/source/detail/async_alloc.cpp +++ b/sycl/source/detail/async_alloc.cpp @@ -33,7 +33,7 @@ getUrEvents(const std::vector> &DepEvents) { return RetUrEvents; } -std::vector> getDepGraphNodes( +std::vector getDepGraphNodes( sycl::handler &Handler, detail::queue_impl *Queue, const std::shared_ptr &Graph, const std::vector> &DepEvents) { @@ -42,14 +42,14 @@ std::vector> getDepGraphNodes( auto DepNodes = Graph->getNodesForEvents(DepEvents); // If this node was added explicitly we may have node deps in the handler as // well, so add them to the list - DepNodes.insert(DepNodes.end(), HandlerImpl.MNodeDeps.begin(), - HandlerImpl.MNodeDeps.end()); + for (auto &N : HandlerImpl.MNodeDeps) + DepNodes.push_back(N.get()); // If this is being recorded from an in-order queue we need to get the last // in-order node if any, since this will later become a dependency of the // node being processed here. if (detail::node_impl *LastInOrderNode = Graph->getLastInorderNode(Queue); LastInOrderNode) { - DepNodes.push_back(LastInOrderNode->shared_from_this()); + DepNodes.push_back(LastInOrderNode); } return DepNodes; } diff --git a/sycl/source/detail/graph/graph_impl.cpp b/sycl/source/detail/graph/graph_impl.cpp index 3acafa17d20fa..212885ce7ae71 100644 --- a/sycl/source/detail/graph/graph_impl.cpp +++ b/sycl/source/detail/graph/graph_impl.cpp @@ -369,7 +369,7 @@ std::set> graph_impl::getCGEdges( "Event dependency from handler::depends_on does " "not correspond to a node within the graph"); } else { - UniqueDeps.insert(NodeImpl->second); + UniqueDeps.insert(NodeImpl->second->shared_from_this()); } } @@ -417,7 +417,7 @@ std::shared_ptr graph_impl::add(nodes_range Deps) { addDepsToNode(NodeImpl, Deps); // Add an event associated with this explicit node for mixed usage addEventForNode(sycl::detail::event_impl::create_completed_host_event(), - NodeImpl); + *NodeImpl); return NodeImpl; } @@ -476,7 +476,7 @@ graph_impl::add(std::function CGF, // Add an event associated with this explicit node for mixed usage addEventForNode(sycl::detail::event_impl::create_completed_host_event(), - NodeImpl); + *NodeImpl); // Retrieve any dynamic parameters which have been registered in the CGF and // register the actual nodes with them. @@ -556,7 +556,7 @@ graph_impl::add(std::shared_ptr &DynCGImpl, // Add an event associated with this explicit node for mixed usage addEventForNode(sycl::detail::event_impl::create_completed_host_event(), - NodeImpl); + *NodeImpl); // Track the dynamic command-group used inside the node object DynCGImpl->MNodes.push_back(NodeImpl); @@ -689,9 +689,9 @@ std::vector graph_impl::getExitNodesEvents( auto RecordedQueueSP = RecordedQueue.lock(); for (auto &Node : MNodeStorage) { if (Node->MSuccessors.empty()) { - auto EventForNode = getEventForNode(Node); + auto EventForNode = getEventForNode(*Node); if (EventForNode->getSubmittedQueue() == RecordedQueueSP) { - Events.push_back(getEventForNode(Node)); + Events.push_back(getEventForNode(*Node)); } } } diff --git a/sycl/source/detail/graph/graph_impl.hpp b/sycl/source/detail/graph/graph_impl.hpp index 08255c5639627..166d5070ea9ab 100644 --- a/sycl/source/detail/graph/graph_impl.hpp +++ b/sycl/source/detail/graph/graph_impl.hpp @@ -192,21 +192,21 @@ class graph_impl : public std::enable_shared_from_this { /// @param EventImpl Event to associate with a node in map. /// @param NodeImpl Node to associate with event in map. void addEventForNode(std::shared_ptr EventImpl, - const std::shared_ptr &NodeImpl) { + node_impl &NodeImpl) { if (!(EventImpl->hasCommandGraph())) EventImpl->setCommandGraph(shared_from_this()); - MEventsMap[EventImpl] = NodeImpl; + MEventsMap[EventImpl] = &NodeImpl; } /// Find the sycl event associated with a node. /// @param NodeImpl Node to find event for. /// @return Event associated with node. std::shared_ptr - getEventForNode(std::shared_ptr NodeImpl) const { + getEventForNode(node_impl &NodeImpl) const { ReadLock Lock(MMutex); if (auto EventImpl = std::find_if( MEventsMap.begin(), MEventsMap.end(), - [NodeImpl](auto &it) { return it.second == NodeImpl; }); + [&NodeImpl](auto &it) { return it.second == &NodeImpl; }); EventImpl != MEventsMap.end()) { return EventImpl->first; } @@ -220,13 +220,14 @@ class graph_impl : public std::enable_shared_from_this { /// the given event. /// @param EventImpl Event to find the node for. /// @return Node associated with the event. - std::shared_ptr + node_impl & getNodeForEvent(std::shared_ptr EventImpl) { ReadLock Lock(MMutex); if (auto NodeFound = MEventsMap.find(EventImpl); NodeFound != std::end(MEventsMap)) { - return NodeFound->second; + // TODO: Is it guaranteed to be non-null? + return *NodeFound->second; } throw sycl::exception( @@ -238,9 +239,9 @@ class graph_impl : public std::enable_shared_from_this { /// found for a given event. /// @param Events Events to find nodes for. /// @return A list of node counterparts for each event, in the same order. - std::vector> getNodesForEvents( + std::vector getNodesForEvents( const std::vector> &Events) { - std::vector> NodeList{}; + std::vector NodeList{}; NodeList.reserve(Events.size()); ReadLock Lock(MMutex); @@ -544,8 +545,7 @@ class graph_impl : public std::enable_shared_from_this { std::owner_less>> MRecordingQueues; /// Map of events to their associated recorded nodes. - std::unordered_map, - std::shared_ptr> + std::unordered_map, node_impl *> MEventsMap; /// Map for every in-order queue thats recorded a node to the graph, what /// the last node added was. We can use this to create new edges on the last diff --git a/sycl/source/handler.cpp b/sycl/source/handler.cpp index abcdcbfd55777..1e729b2100eb6 100644 --- a/sycl/source/handler.cpp +++ b/sycl/source/handler.cpp @@ -916,7 +916,7 @@ event handler::finalize() { } // Associate an event with this new node and return the event. - GraphImpl->addEventForNode(EventImpl, std::move(NodeImpl)); + GraphImpl->addEventForNode(EventImpl, *NodeImpl); #ifdef __INTEL_PREVIEW_BREAKING_CHANGES return EventImpl; diff --git a/sycl/unittests/Extensions/CommandGraph/Barrier.cpp b/sycl/unittests/Extensions/CommandGraph/Barrier.cpp index 648c28ab0af7b..9b516c22ee78a 100644 --- a/sycl/unittests/Extensions/CommandGraph/Barrier.cpp +++ b/sycl/unittests/Extensions/CommandGraph/Barrier.cpp @@ -43,7 +43,7 @@ TEST_F(CommandGraphTest, EnqueueBarrier) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto BarrierNode = Root.MSuccessors.front().lock(); ASSERT_EQ(BarrierNode->MCGType, sycl::detail::CGType::Barrier); - ASSERT_EQ(GraphImpl.getEventForNode(BarrierNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*BarrierNode).get(), &*getSyclObjImpl(Barrier)); ASSERT_EQ(BarrierNode->MPredecessors.size(), 3lu); ASSERT_EQ(BarrierNode->MSuccessors.size(), 2lu); @@ -79,13 +79,12 @@ TEST_F(CommandGraphTest, EnqueueBarrierMultipleQueues) { // (4) (5) ASSERT_EQ(GraphImpl.MRoots.size(), 3lu); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == - &*getSyclObjImpl(Node2Graph)) { + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node2Graph)) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); @@ -94,11 +93,11 @@ TEST_F(CommandGraphTest, EnqueueBarrierMultipleQueues) { for (auto SuccSucc : SuccNode->MSuccessors) { auto SuccSuccNode = SuccSucc.lock(); - if (GraphImpl.getEventForNode(SuccSuccNode).get() == + if (GraphImpl.getEventForNode(*SuccSuccNode).get() == &*getSyclObjImpl(Node4Graph)) { ASSERT_EQ(SuccSuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccSuccNode->MSuccessors.size(), 0lu); - } else if (GraphImpl.getEventForNode(SuccSuccNode).get() == + } else if (GraphImpl.getEventForNode(*SuccSuccNode).get() == &*getSyclObjImpl(Node5Graph)) { ASSERT_EQ(SuccSuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccSuccNode->MSuccessors.size(), 0lu); @@ -148,7 +147,7 @@ TEST_F(CommandGraphTest, EnqueueBarrierWaitList) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); if (SuccNode->MCGType == sycl::detail::CGType::Barrier) { - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 2lu); @@ -204,7 +203,7 @@ TEST_F(CommandGraphTest, EnqueueBarrierWaitListMultipleQueues) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); if (SuccNode->MCGType == sycl::detail::CGType::Barrier) { - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 3lu); @@ -266,14 +265,14 @@ TEST_F(CommandGraphTest, EnqueueMultipleBarrier) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); if (SuccNode->MCGType == sycl::detail::CGType::Barrier) { - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier1)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 3lu); for (auto Succ1 : SuccNode->MSuccessors) { auto SuccBarrier1 = Succ1.lock(); if (SuccBarrier1->MCGType == sycl::detail::CGType::Barrier) { - ASSERT_EQ(GraphImpl.getEventForNode(SuccBarrier1).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccBarrier1).get(), &*getSyclObjImpl(Barrier2)); ASSERT_EQ(SuccBarrier1->MPredecessors.size(), 3lu); ASSERT_EQ(SuccBarrier1->MSuccessors.size(), 3lu); @@ -285,7 +284,7 @@ TEST_F(CommandGraphTest, EnqueueMultipleBarrier) { } } else { // Node 4 or Node 5 - if (GraphImpl.getEventForNode(SuccBarrier1).get() == + if (GraphImpl.getEventForNode(*SuccBarrier1).get() == &*getSyclObjImpl(Node4Graph)) { // Node 4 ASSERT_EQ(SuccBarrier1->MPredecessors.size(), 1lu); @@ -364,8 +363,7 @@ TEST_F(CommandGraphTest, InOrderQueuesWithBarrier) { ASSERT_EQ(GraphImpl.MRoots.size(), 2lu); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == - &*getSyclObjImpl(Node1)) { + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node1)) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); @@ -373,7 +371,7 @@ TEST_F(CommandGraphTest, InOrderQueuesWithBarrier) { ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); - } else if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == + } else if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node2)) { ASSERT_EQ(Root.MSuccessors.size(), 0lu); } else { @@ -413,7 +411,7 @@ TEST_F(CommandGraphTest, InOrderQueuesWithBarrierWaitList) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(BarrierNode)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); @@ -452,24 +450,23 @@ TEST_F(CommandGraphTest, InOrderQueuesWithEmptyBarrierWaitList) { ASSERT_EQ(GraphImpl.MRoots.size(), 2lu); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == - &*getSyclObjImpl(Node1)) { + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node1)) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(BarrierNode)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); - } else if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == + } else if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node2)) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Node3)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); @@ -515,10 +512,9 @@ TEST_F(CommandGraphTest, BarrierMixedQueueTypes) { ASSERT_EQ(GraphImpl.MRoots.size(), 2lu); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == - &*getSyclObjImpl(Node1)) { + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node1)) { ASSERT_EQ(Root.MSuccessors.size(), 1lu); - } else if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == + } else if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node2)) { ASSERT_EQ(Root.MSuccessors.size(), 2lu); } else { @@ -528,11 +524,11 @@ TEST_F(CommandGraphTest, BarrierMixedQueueTypes) { for (auto Succ : Root.MSuccessors) { auto SuccNode = Succ.lock(); - if (GraphImpl.getEventForNode(SuccNode).get() == + if (GraphImpl.getEventForNode(*SuccNode).get() == &*getSyclObjImpl(BarrierNode)) { ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); - } else if (GraphImpl.getEventForNode(SuccNode).get() == + } else if (GraphImpl.getEventForNode(*SuccNode).get() == &*getSyclObjImpl(Node3)) { ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); @@ -570,7 +566,7 @@ TEST_F(CommandGraphTest, BarrierBetweenExplicitNodes) { for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(BarrierNode)) { ASSERT_EQ(Root.MSuccessors.size(), 0lu); } else if (&Root == &*getSyclObjImpl(Node1)) { @@ -624,13 +620,13 @@ TEST_F(CommandGraphTest, BarrierMultipleOOOQueue) { ASSERT_EQ(GraphImpl.MRoots.size(), 4u); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - auto RootNodeEvent = GraphImpl.getEventForNode(Root.shared_from_this()); + auto RootNodeEvent = GraphImpl.getEventForNode(Root); if ((RootNodeEvent.get() == &*getSyclObjImpl(Node1)) || (RootNodeEvent.get() == &*getSyclObjImpl(Node2))) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(BarrierNode)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); @@ -641,13 +637,13 @@ TEST_F(CommandGraphTest, BarrierMultipleOOOQueue) { ASSERT_EQ(SuccSuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccSuccNode->MSuccessors.size(), 0lu); - ASSERT_EQ(GraphImpl.getEventForNode(SuccSuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccSuccNode).get(), &*getSyclObjImpl(Node6)); } else if ((RootNodeEvent.get() == &*getSyclObjImpl(Node3)) || (RootNodeEvent.get() == &*getSyclObjImpl(Node4))) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Node5)); ASSERT_EQ(SuccNode->MPredecessors.size(), 2lu); @@ -688,17 +684,17 @@ TEST_F(CommandGraphTest, BarrierMultipleInOrderQueue) { ASSERT_EQ(GraphImpl.MRoots.size(), 2u); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - auto RootNodeEvent = GraphImpl.getEventForNode(Root.shared_from_this()); + auto RootNodeEvent = GraphImpl.getEventForNode(Root); if (RootNodeEvent.get() == &*getSyclObjImpl(Node1)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(BarrierNode)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); } else if (RootNodeEvent.get() == &*getSyclObjImpl(Node2)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Node3)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); @@ -738,17 +734,17 @@ TEST_F(CommandGraphTest, BarrierMultipleMixedOrderQueues) { ASSERT_EQ(GraphImpl.MRoots.size(), 2u); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - auto RootNodeEvent = GraphImpl.getEventForNode(Root.shared_from_this()); + auto RootNodeEvent = GraphImpl.getEventForNode(Root); if (RootNodeEvent.get() == &*getSyclObjImpl(Node1)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(BarrierNode)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); } else if (RootNodeEvent.get() == &*getSyclObjImpl(Node2)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Node3)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); @@ -782,17 +778,17 @@ TEST_F(CommandGraphTest, BarrierMultipleQueuesMultipleBarriers) { ASSERT_EQ(GraphImpl.MRoots.size(), 2u); for (experimental::detail::node_impl &Root : GraphImpl.roots()) { - auto RootNodeEvent = GraphImpl.getEventForNode(Root.shared_from_this()); + auto RootNodeEvent = GraphImpl.getEventForNode(Root); if (RootNodeEvent.get() == &*getSyclObjImpl(Barrier1)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier4)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); ASSERT_EQ(SuccNode->MSuccessors.size(), 0lu); } else if (RootNodeEvent.get() == &*getSyclObjImpl(Barrier2)) { auto SuccNode = Root.MSuccessors.front().lock(); - ASSERT_EQ(GraphImpl.getEventForNode(SuccNode).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*SuccNode).get(), &*getSyclObjImpl(Barrier3)); ASSERT_EQ(SuccNode->MPredecessors.size(), 1lu); @@ -862,10 +858,9 @@ TEST_F(CommandGraphTest, BarrierWithInOrderCommands) { bool EvenPath; ASSERT_EQ(Root.MSuccessors.size(), 1lu); - if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == - &*getSyclObjImpl(Node2)) { + if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node2)) { EvenPath = true; - } else if (GraphImpl.getEventForNode(Root.shared_from_this()).get() == + } else if (GraphImpl.getEventForNode(Root).get() == &*getSyclObjImpl(Node1)) { EvenPath = false; } else { @@ -875,47 +870,47 @@ TEST_F(CommandGraphTest, BarrierWithInOrderCommands) { auto Succ1Node = Root.MSuccessors.front().lock(); ASSERT_EQ(Succ1Node->MSuccessors.size(), 1lu); if (EvenPath) { - ASSERT_EQ(GraphImpl.getEventForNode(Succ1Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ1Node).get(), &*getSyclObjImpl(Barrier2)); } else { - ASSERT_EQ(GraphImpl.getEventForNode(Succ1Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ1Node).get(), &*getSyclObjImpl(Barrier1)); } auto Succ2Node = Succ1Node->MSuccessors.front().lock(); ASSERT_EQ(Succ2Node->MSuccessors.size(), 1lu); if (EvenPath) { - ASSERT_EQ(GraphImpl.getEventForNode(Succ2Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ2Node).get(), &*getSyclObjImpl(Node4)); } else { - ASSERT_EQ(GraphImpl.getEventForNode(Succ2Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ2Node).get(), &*getSyclObjImpl(Node3)); } auto Succ3Node = Succ2Node->MSuccessors.front().lock(); ASSERT_EQ(Succ3Node->MSuccessors.size(), 1lu); if (EvenPath) { - ASSERT_EQ(GraphImpl.getEventForNode(Succ3Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ3Node).get(), &*getSyclObjImpl(Barrier4)); } else { - ASSERT_EQ(GraphImpl.getEventForNode(Succ3Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ3Node).get(), &*getSyclObjImpl(Barrier3)); } auto Succ4Node = Succ3Node->MSuccessors.front().lock(); ASSERT_EQ(Succ4Node->MSuccessors.size(), 1lu); if (EvenPath) { - ASSERT_EQ(GraphImpl.getEventForNode(Succ4Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ4Node).get(), &*getSyclObjImpl(Node6)); } else { - ASSERT_EQ(GraphImpl.getEventForNode(Succ4Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ4Node).get(), &*getSyclObjImpl(Node5)); } auto Succ5Node = Succ4Node->MSuccessors.front().lock(); ASSERT_EQ(Succ5Node->MSuccessors.size(), 0lu); ASSERT_EQ(Succ5Node->MPredecessors.size(), 2lu); - ASSERT_EQ(GraphImpl.getEventForNode(Succ5Node).get(), + ASSERT_EQ(GraphImpl.getEventForNode(*Succ5Node).get(), &*getSyclObjImpl(Barrier5)); } }