Lines Matching defs:RN

163 /// Return the block that is the representing block for @p RN.
164 static inline BasicBlock *getRegionNodeBasicBlock(RegionNode *RN) {
165 return RN->isSubRegion() ? RN->getNodeAs<Region>()->getEntry()
166 : RN->getNodeAs<BasicBlock>();
169 /// Return the @p idx'th block that is executed after @p RN.
171 getRegionNodeSuccessor(RegionNode *RN, Instruction *TI, unsigned idx) {
172 if (RN->isSubRegion()) {
174 return RN->getNodeAs<Region>()->getExit();
179 static bool containsErrorBlock(RegionNode *RN, const Region &R,
181 if (!RN->isSubRegion())
182 return SD->isErrorBlock(*RN->getNodeAs<BasicBlock>(), R);
183 for (BasicBlock *BB : RN->getNodeAs<Region>()->blocks())
600 for (auto *RN : RTraversal) {
603 if (RN->isSubRegion()) {
604 Region *SubRegion = RN->getNodeAs<Region>();
612 BasicBlock *BB = getRegionNodeBasicBlock(RN);
621 Loop *BBLoop = getRegionNodeLoop(RN, LI);
886 for (auto *RN : RTraversal) {
889 if (RN->isSubRegion()) {
890 Region *SubRegion = RN->getNodeAs<Region>();
898 if (containsErrorBlock(RN, scop->getRegion(), &SD))
902 BasicBlock *BB = getRegionNodeBasicBlock(RN);
914 auto *BBLoop = getRegionNodeLoop(RN, LI);
936 if (RN->isSubRegion())
946 assert(RN->isSubRegion() || TI->getNumSuccessors() == ConditionSets.size());
949 BasicBlock *SuccBB = getRegionNodeSuccessor(RN, TI, u);
1002 for (auto *RN : RTraversal) {
1006 if (RN->isSubRegion()) {
1007 Region *SubRegion = RN->getNodeAs<Region>();
1014 bool ContainsErrorBlock = containsErrorBlock(RN, scop->getRegion(), &SD);
1015 BasicBlock *BB = getRegionNodeBasicBlock(RN);
1038 auto *BBLoop = getRegionNodeLoop(RN, LI);
1040 unsigned NumSuccs = RN->isSubRegion() ? 1 : TI->getNumSuccessors();
1042 auto *SuccBB = getRegionNodeSuccessor(RN, TI, u);
1226 RegionNode *RN;
1229 RN = WorkList.front();
1233 RN = DelayList.front();
1237 Loop *L = getRegionNodeLoop(RN, LI);
1245 DelayList.push_back(RN);
1250 buildSchedule(RN, LoopStack);
1254 void ScopBuilder::buildSchedule(RegionNode *RN, LoopStackTy &LoopStack) {
1255 if (RN->isSubRegion()) {
1256 auto *LocalRegion = RN->getNodeAs<Region>();
1265 LoopData->NumBlocksProcessed += getNumBlocksInRegionNode(RN);
1267 for (auto *Stmt : scop->getStmtListFor(RN)) {