*MayWrite = isl_union_map_empty(isl_space_copy(Space));
*Schedule = isl_union_map_empty(Space);
- for (Scop::iterator SI = S.begin(), SE = S.end(); SI != SE; ++SI) {
- ScopStmt *Stmt = *SI;
-
+ for (ScopStmt *Stmt : S) {
for (ScopStmt::memacc_iterator MI = Stmt->memacc_begin(),
ME = Stmt->memacc_end();
MI != ME; ++MI) {
isl_space *ScatteringSpace = 0;
- for (Scop::iterator SI = S.begin(), SE = S.end(); SI != SE; ++SI) {
- ScopStmt *Stmt = *SI;
-
+ for (ScopStmt *Stmt : S) {
isl_map *StmtScat;
- if (NewScattering->find(*SI) == NewScattering->end())
+ if (NewScattering->find(Stmt) == NewScattering->end())
StmtScat = Stmt->getScattering();
else
StmtScat = isl_map_copy((*NewScattering)[Stmt]);
isl_space *Space = scop->getParamSpace();
isl_union_map *schedule = isl_union_map_empty(Space);
- for (Scop::iterator SI = scop->begin(), SE = scop->end(); SI != SE; ++SI) {
- ScopStmt *Stmt = *SI;
+ for (ScopStmt *Stmt : *scop) {
unsigned remainingDimensions = Stmt->getNumScattering() - dimLevel;
isl_map *Scattering = isl_map_project_out(
Stmt->getScattering(), isl_dim_out, dimLevel, remainingDimensions);
Instruction *NewInst = Inst->clone();
// Replace old operands with the new ones.
- for (Instruction::const_op_iterator OI = Inst->op_begin(),
- OE = Inst->op_end();
- OI != OE; ++OI) {
- Value *OldOperand = *OI;
+ for (Value *OldOperand : Inst->operands()) {
Value *NewOperand =
getNewValue(OldOperand, BBMap, GlobalMap, LTS, getLoopForInst(Inst));
ValueMapT BBMap;
- for (BasicBlock::const_iterator II = BB->begin(), IE = BB->end(); II != IE;
- ++II)
- copyInstruction(II, BBMap, GlobalMap, LTS);
+ for (Instruction &Inst : *BB)
+ copyInstruction(&Inst, BBMap, GlobalMap, LTS);
}
VectorBlockGenerator::VectorBlockGenerator(PollyIRBuilder &B,
bool VectorBlockGenerator::hasVectorOperands(const Instruction *Inst,
ValueMapT &VectorMap) {
- for (Instruction::const_op_iterator OI = Inst->op_begin(),
- OE = Inst->op_end();
- OI != OE; ++OI)
- if (VectorMap.count(*OI))
+ for (Value *Operand : Inst->operands())
+ if (VectorMap.count(Operand))
return true;
return false;
}
bool HasVectorOperand = false;
int VectorWidth = getVectorWidth();
- for (Instruction::const_op_iterator OI = Inst->op_begin(),
- OE = Inst->op_end();
- OI != OE; ++OI) {
- ValueMapT::iterator VecOp = VectorMap.find(*OI);
+ for (Value *Operand : Inst->operands()) {
+ ValueMapT::iterator VecOp = VectorMap.find(Operand);
if (VecOp == VectorMap.end())
continue;
// If there is one scalar extracted, all scalar elements should have
// already been extracted by the code here. So no need to check for the
// existance of all of them.
- if (SM.count(*OI))
+ if (SM.count(Operand))
break;
- SM[*OI] = Builder.CreateExtractElement(NewVector, Builder.getInt32(i));
+ SM[Operand] =
+ Builder.CreateExtractElement(NewVector, Builder.getInt32(i));
}
}
VectorValueMapT ScalarBlockMap(getVectorWidth());
ValueMapT VectorBlockMap;
- for (BasicBlock::const_iterator II = BB->begin(), IE = BB->end(); II != IE;
- ++II)
- copyInstruction(II, VectorBlockMap, ScalarBlockMap);
+ for (Instruction &Inst : *BB)
+ copyInstruction(&Inst, VectorBlockMap, ScalarBlockMap);
}
Value *OMPGenerator::loadValuesIntoStruct(SetVector<Value *> &Values) {
std::vector<Type *> Members;
- for (unsigned i = 0; i < Values.size(); i++)
- Members.push_back(Values[i]->getType());
+ for (Value *V : Values)
+ Members.push_back(V->getType());
StructType *Ty = StructType::get(Builder.getContext(), Members);
Value *Struct = Builder.CreateAlloca(Ty, 0, "omp.userContext");