void ScopStmt::buildAccesses(TempScop &tempScop, const Region &CurRegion) { const AccFuncSetType *AccFuncs = tempScop.getAccessFunctions(BB); for (AccFuncSetType::const_iterator I = AccFuncs->begin(), E = AccFuncs->end(); I != E; ++I) { MemAccs.push_back(new MemoryAccess(I->first, this)); InstructionToAccess[I->second] = MemAccs.back(); } }
void ScopStmt::buildAccesses(TempScop &tempScop, const Region &CurRegion) { const AccFuncSetType *AccFuncs = tempScop.getAccessFunctions(BB); for (AccFuncSetType::const_iterator I = AccFuncs->begin(), E = AccFuncs->end(); I != E; ++I) { MemAccs.push_back(new MemoryAccess(I->first, I->second, this)); assert(!InstructionToAccess.count(I->second) && "Unexpected 1-to-N mapping on instruction to access map!"); InstructionToAccess[I->second] = MemAccs.back(); } }
bool Scop::isTrivialBB(BasicBlock *BB, TempScop &tempScop) { if (tempScop.getAccessFunctions(BB)) return false; return true; }