| Index: src/IceTargetLoweringX8632.cpp
|
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
|
| index b9d3170d2182e41a5fd847af566f7f52ee0fddb2..7b4c690f99548e78ea0011f4cb1e46f23c72d9b1 100644
|
| --- a/src/IceTargetLoweringX8632.cpp
|
| +++ b/src/IceTargetLoweringX8632.cpp
|
| @@ -545,9 +545,7 @@ void TargetX8632::sortByAlignment(VarList &Dest, const VarList &Source) const {
|
| X86_LOG2_OF_MAX_STACK_SLOT_SIZE - X86_LOG2_OF_MIN_STACK_SLOT_SIZE + 1;
|
| VarList Buckets[NumBuckets];
|
|
|
| - for (VarList::const_iterator I = Source.begin(), E = Source.end(); I != E;
|
| - ++I) {
|
| - Variable *Var = *I;
|
| + for (auto &Var : Source) {
|
| uint32_t NaturalAlignment = typeWidthInBytesOnStack(Var->getType());
|
| SizeT LogNaturalAlignment = llvm::findFirstSet(NaturalAlignment);
|
| assert(LogNaturalAlignment >= X86_LOG2_OF_MIN_STACK_SLOT_SIZE);
|
| @@ -688,9 +686,7 @@ void TargetX8632::addProlog(CfgNode *Node) {
|
| // The entire spill locations area gets aligned to largest natural
|
| // alignment of the variables that have a spill slot.
|
| uint32_t SpillAreaAlignmentBytes = 0;
|
| - for (VarList::const_iterator I = Variables.begin(), E = Variables.end();
|
| - I != E; ++I) {
|
| - Variable *Var = *I;
|
| + for (auto &Var : Variables) {
|
| if (Var->hasReg()) {
|
| RegsUsed[Var->getRegNum()] = true;
|
| continue;
|
| @@ -716,10 +712,7 @@ void TargetX8632::addProlog(CfgNode *Node) {
|
|
|
| SortedSpilledVariables.reserve(SpilledVariables.size());
|
| sortByAlignment(SortedSpilledVariables, SpilledVariables);
|
| - for (VarList::const_iterator I = SortedSpilledVariables.begin(),
|
| - E = SortedSpilledVariables.end();
|
| - I != E; ++I) {
|
| - Variable *Var = *I;
|
| + for (auto &Var : SortedSpilledVariables) {
|
| size_t Increment = typeWidthInBytesOnStack(Var->getType());
|
| if (!SpillAreaAlignmentBytes)
|
| SpillAreaAlignmentBytes = Increment;
|
| @@ -827,10 +820,7 @@ void TargetX8632::addProlog(CfgNode *Node) {
|
| size_t GlobalsSpaceUsed = SpillAreaPaddingBytes;
|
| LocalsSize.assign(LocalsSize.size(), 0);
|
| size_t NextStackOffset = GlobalsSpaceUsed;
|
| - for (VarList::const_iterator I = SortedSpilledVariables.begin(),
|
| - E = SortedSpilledVariables.end();
|
| - I != E; ++I) {
|
| - Variable *Var = *I;
|
| + for (auto &Var : SortedSpilledVariables) {
|
| size_t Increment = typeWidthInBytesOnStack(Var->getType());
|
| if (SimpleCoalescing && VMetadata->isTracked(Var)) {
|
| if (VMetadata->isMultiBlock(Var)) {
|
| @@ -856,10 +846,7 @@ void TargetX8632::addProlog(CfgNode *Node) {
|
|
|
| // Assign stack offsets to variables that have been linked to spilled
|
| // variables.
|
| - for (VarList::const_iterator I = VariablesLinkedToSpillSlots.begin(),
|
| - E = VariablesLinkedToSpillSlots.end();
|
| - I != E; ++I) {
|
| - Variable *Var = *I;
|
| + for (auto &Var : VariablesLinkedToSpillSlots) {
|
| Variable *Linked = (llvm::cast<SpillVariable>(Var))->getLinkedTo();
|
| Var->setStackOffset(Linked->getStackOffset());
|
| }
|
| @@ -969,9 +956,8 @@ template <typename T> void TargetX8632::emitConstantPool() const {
|
| Str << "\t.section\t.rodata.cst" << Align << ",\"aM\",@progbits," << Align
|
| << "\n";
|
| Str << "\t.align\t" << Align << "\n";
|
| - for (ConstantList::const_iterator I = Pool.begin(), E = Pool.end(); I != E;
|
| - ++I) {
|
| - typename T::IceType *Const = llvm::cast<typename T::IceType>(*I);
|
| + for (auto &I : Pool) {
|
| + typename T::IceType *Const = llvm::cast<typename T::IceType>(I);
|
| typename T::PrimitiveFpType Value = Const->getValue();
|
| // Use memcpy() to copy bits from Value into RawValue in a way
|
| // that avoids breaking strict-aliasing rules.
|
| @@ -4323,8 +4309,7 @@ void TargetX8632::postLower() {
|
| // The first pass also keeps track of which instruction is the last
|
| // use for each infinite-weight variable. After the last use, the
|
| // variable is released to the free list.
|
| - for (InstList::iterator I = Context.getCur(), E = Context.getEnd(); I != E;
|
| - ++I) {
|
| + for (auto I = Context.getCur(), E = Context.getEnd(); I != E; ++I) {
|
| const Inst *Inst = *I;
|
| if (Inst->isDeleted())
|
| continue;
|
| @@ -4357,8 +4342,7 @@ void TargetX8632::postLower() {
|
| // The second pass colors infinite-weight variables.
|
| llvm::SmallBitVector AvailableRegisters = WhiteList;
|
| llvm::SmallBitVector FreedRegisters(WhiteList.size());
|
| - for (InstList::iterator I = Context.getCur(), E = Context.getEnd(); I != E;
|
| - ++I) {
|
| + for (auto I = Context.getCur(), E = Context.getEnd(); I != E; ++I) {
|
| FreedRegisters.reset();
|
| const Inst *Inst = *I;
|
| if (Inst->isDeleted())
|
|
|