@@ -512,10 +512,10 @@ static void getExitingRegions(LoopRegionFunctionInfo *LRFI, SILLoop *Loop,
512
512
// this subloop's region. That is the *true* exiting region.
513
513
for (auto *BB : ExitingBlocks) {
514
514
auto *Region = LRFI->getRegion (BB);
515
- unsigned RegionParentID = Region->getParentID ();
515
+ unsigned RegionParentID = * Region->getParentID ();
516
516
while (RegionParentID != LRegion->getID ()) {
517
517
Region = LRFI->getRegion (RegionParentID);
518
- RegionParentID = Region->getParentID ();
518
+ RegionParentID = * Region->getParentID ();
519
519
}
520
520
ExitingRegions.push_back (Region->getID ());
521
521
}
@@ -745,7 +745,7 @@ getRegionForNonLocalSuccessor(const LoopRegion *Child, unsigned SuccID) const {
745
745
LoopRegion::SuccessorID Succ = {0 , 0 };
746
746
747
747
do {
748
- Iter = getRegion (Iter->getParentID ());
748
+ Iter = getRegion (* Iter->getParentID ());
749
749
Succ = Iter->Succs [SuccID].getValue ();
750
750
SuccID = Succ.ID ;
751
751
} while (Succ.IsNonLocal );
@@ -876,7 +876,7 @@ struct LoopRegionWrapper {
876
876
LoopRegion *Region;
877
877
878
878
LoopRegionWrapper *getParent () const {
879
- unsigned ParentIndex = Region->getParentID ();
879
+ unsigned ParentIndex = * Region->getParentID ();
880
880
return &FuncInfo.Data [ParentIndex];
881
881
}
882
882
@@ -922,7 +922,7 @@ struct alledge_iterator
922
922
}
923
923
// If we have a non-local id, just return the parent region's data.
924
924
if ((*SuccIter)->IsNonLocal )
925
- return &Wrapper->FuncInfo .Data [Wrapper->Region ->getParentID ()];
925
+ return &Wrapper->FuncInfo .Data [*( Wrapper->Region ->getParentID () )];
926
926
// Otherwise return the data associated with this successor.
927
927
return &Wrapper->FuncInfo .Data [(*SuccIter)->ID ];
928
928
}
0 commit comments