20 RemoveIOBarrierFromRegion(module.Rvsdg().GetRootRegion());
26 for (
auto & node : region.
Nodes())
31 for (
size_t n = 0; n < structuralNode->nsubregions(); n++)
38 if (rvsdg::is<llvm::IOBarrierOperation>(&node))
40 node.output(0)->divert_users(node.input(0)->origin());
Removes all IOBarrier nodes from the RVSDG.
static void RemoveIOBarrierFromRegion(rvsdg::Region ®ion)
~IOBarrierRemoval() noexcept override
Represent acyclic RVSDG subgraphs.
void prune(bool recursive)
NodeRange Nodes() noexcept