@@ -100,7 +100,6 @@ class DiscoverLoops {
100100 // destination and the second is the source.
101101 for (auto [dest, source] : df.computeDataFlow ())
102102 addDrivenBy (dest, source);
103-
104103 })
105104 .Case <Forceable>([&](Forceable forceableOp) {
106105 // Any declaration that can be forced.
@@ -613,12 +612,12 @@ class DiscoverLoops {
613612 llvm::dbgs () << " \n node:" << getName (drivenBy[node.first ].first )
614613 << " => probe:" << getName (drivenBy[node.second ].first );
615614 }
616- for (auto i = rwProbeClasses. begin (), e = rwProbeClasses. end (); i != e;
617- ++i) { // Iterate over all of the equivalence sets.
615+ for (const auto &i : rwProbeClasses) {
616+ // Iterate over all of the equivalence sets.
618617 if (!i->isLeader ())
619618 continue ; // Ignore non-leader sets.
620619 // Print members in this set.
621- llvm::interleave (llvm::make_range (rwProbeClasses.member_begin (i),
620+ llvm::interleave (llvm::make_range (rwProbeClasses.member_begin (* i),
622621 rwProbeClasses.member_end ()),
623622 llvm::dbgs (), " \n " );
624623 llvm::dbgs () << " \n dataflow at leader::" << i->getData () << " \n =>"
@@ -649,13 +648,12 @@ class DiscoverLoops {
649648 if (auto defOp = dyn_cast_or_null<Forceable>(baseFieldRef.getDefiningOp ()))
650649 if (defOp.isForceable () && !defOp.getDataRef ().use_empty ()) {
651650 // Assumption, the probe must exist in the equivalence classes.
652- auto rwProbeNode =
651+ unsigned rwProbeNode =
653652 rwProbeClasses.getLeaderValue (getOrAddNode (defOp.getDataRef ()));
654653 // For all the probes, that are in the same eqv class, i.e., refer to
655654 // the same value.
656655 for (auto probe :
657- llvm::make_range (rwProbeClasses.member_begin (
658- rwProbeClasses.findValue (rwProbeNode)),
656+ llvm::make_range (rwProbeClasses.findLeader (rwProbeNode),
659657 rwProbeClasses.member_end ())) {
660658 auto probeVal = drivenBy[probe].first ;
661659 // If the probe is a port, then record the path from the probe to the
0 commit comments