[llvm] r261504 - CodeGen: MachineInstr::getIterator() => getInstrIterator(), NFC
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 22 12:26:57 PST 2016
"Duncan P. N. Exon Smith via llvm-commits" <llvm-commits at lists.llvm.org>
writes:
> Author: dexonsmith
> Date: Sun Feb 21 16:58:35 2016
> New Revision: 261504
>
> URL: http://llvm.org/viewvc/llvm-project?rev=261504&view=rev
> Log:
> CodeGen: MachineInstr::getIterator() => getInstrIterator(), NFC
>
> Delete MachineInstr::getIterator(), since the term "iterator" is
> overloaded when talking about MachineInstr.
>
> - Downcast to ilist_node in iplist::getNextNode() and getPrevNode() so
> that ilist_node::getIterator() is still available.
> - Add it back as MachineInstr::getInstrIterator(). This matches the
> naming in MachineBasicBlock.
> - Add MachineInstr::getBundleIterator(). This is explicitly called
> "bundle" (not matching MachineBasicBlock) to disintinguish it clearly
> from ilist_node::getIterator().
> - Update all calls. Some of these I switched to `auto` to remove
> boiler-plate, since the new name is clear about the type.
This causes a fair amount of code churn and I'm not completely convinced
I like the direction. Could we maybe revert for now while we discuss it?
I find the getInstrIterator name a bit confusing, since it makes
MachineInstr's API different from any other ilist_node's. I can see why
it makes sense if we add getBundleIterator, since it would be confusing
to have getIterator and getBundleIterator, but is the implicit
conversion from an MI to a bundle_iterator really so bad? Certainly
you'd be signing up for a lot of work if you plan to update everywhere
this happens today.
Then, if we don't end up using getBundleIterator, we should probably
remove it - in which case getInstrIterator is back to being confusing as
to why it's different.
> There was one call I updated that looked fishy, but it wasn't clear what
> the right answer was. This was in X86FrameLowering::inlineStackProbe(),
> added in r252578 in lib/Target/X86/X86FrameLowering.cpp. I opted to
> leave the behaviour unchanged, but I'll reply to the original commit on
> the list in a moment.
>
> Modified:
> llvm/trunk/include/llvm/ADT/ilist.h
> llvm/trunk/include/llvm/CodeGen/MachineInstr.h
> llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h
> llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h
> llvm/trunk/lib/CodeGen/DFAPacketizer.cpp
> llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp
> llvm/trunk/lib/CodeGen/MachineInstr.cpp
> llvm/trunk/lib/CodeGen/ProcessImplicitDefs.cpp
> llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
> llvm/trunk/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
> llvm/trunk/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
> llvm/trunk/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
> llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
> llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp
> llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp
> llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp
> llvm/trunk/lib/Target/Hexagon/HexagonHardwareLoops.cpp
> llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
> llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
> llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp
> llvm/trunk/lib/Target/X86/X86FrameLowering.cpp
>
> Modified: llvm/trunk/include/llvm/ADT/ilist.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/ilist.h?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/ilist.h (original)
> +++ llvm/trunk/include/llvm/ADT/ilist.h Sun Feb 21 16:58:35 2016
> @@ -638,7 +638,7 @@ public:
>
> /// \brief Get the previous node, or \c nullptr for the list head.
> NodeTy *getPrevNode(NodeTy &N) const {
> - auto I = N.getIterator();
> + auto I = static_cast<ilist_node<NodeTy> &>(N).getIterator();
> if (I == begin())
> return nullptr;
> return &*std::prev(I);
> @@ -650,7 +650,7 @@ public:
>
> /// \brief Get the next node, or \c nullptr for the list tail.
> NodeTy *getNextNode(NodeTy &N) const {
> - auto Next = std::next(N.getIterator());
> + auto Next = std::next(static_cast<ilist_node<NodeTy> &>(N).getIterator());
> if (Next == end())
> return nullptr;
> return &*Next;
>
> Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sun Feb 21 16:58:35 2016
> @@ -25,6 +25,7 @@
> #include "llvm/ADT/iterator_range.h"
> #include "llvm/Analysis/AliasAnalysis.h"
> #include "llvm/CodeGen/MachineOperand.h"
> +#include "llvm/CodeGen/MachineInstrBundleIterator.h"
> #include "llvm/IR/DebugInfo.h"
> #include "llvm/IR/DebugLoc.h"
> #include "llvm/IR/InlineAsm.h"
> @@ -139,6 +140,21 @@ public:
> const MachineBasicBlock* getParent() const { return Parent; }
> MachineBasicBlock* getParent() { return Parent; }
>
> + // Disallow getIterator(), since it's ambiguous.
> + void getIterator() = delete;
> + typedef ilist_iterator<MachineInstr> instr_iterator;
> + typedef ilist_iterator<const MachineInstr> const_instr_iterator;
> + instr_iterator getInstrIterator() { return instr_iterator(this); }
> + const_instr_iterator getInstrIterator() const {
> + return const_instr_iterator(this);
> + }
> + typedef MachineInstrBundleIterator<MachineInstr> bundle_iterator;
> + typedef MachineInstrBundleIterator<const MachineInstr> const_bundle_iterator;
> + bundle_iterator getBundleIterator() { return bundle_iterator(this); }
> + const_bundle_iterator getBundleIterator() const {
> + return const_bundle_iterator(this);
> + }
> +
> /// Return the asm printer flags bitvector.
> uint8_t getAsmPrinterFlags() const { return AsmPrinterFlags; }
>
>
> Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h Sun Feb 21 16:58:35 2016
> @@ -472,7 +472,7 @@ public:
> if (I == Begin) {
> if (!empty())
> MI->bundleWithSucc();
> - Begin = MI->getIterator();
> + Begin = MI->getInstrIterator();
> return *this;
> }
> if (I == End) {
>
> Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineInstrBundle.h Sun Feb 21 16:58:35 2016
> @@ -116,10 +116,10 @@ protected:
> ///
> explicit MachineOperandIteratorBase(MachineInstr *MI, bool WholeBundle) {
> if (WholeBundle) {
> - InstrI = getBundleStart(MI)->getIterator();
> + InstrI = getBundleStart(MI)->getInstrIterator();
> InstrE = MI->getParent()->instr_end();
> } else {
> - InstrI = InstrE = MI->getIterator();
> + InstrI = InstrE = MI->getInstrIterator();
> ++InstrE;
> }
> OpI = InstrI->operands_begin();
>
> Modified: llvm/trunk/lib/CodeGen/DFAPacketizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/DFAPacketizer.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/DFAPacketizer.cpp (original)
> +++ llvm/trunk/lib/CodeGen/DFAPacketizer.cpp Sun Feb 21 16:58:35 2016
> @@ -198,7 +198,7 @@ VLIWPacketizerList::~VLIWPacketizerList(
> void VLIWPacketizerList::endPacket(MachineBasicBlock *MBB, MachineInstr *MI) {
> if (CurrentPacketMIs.size() > 1) {
> MachineInstr *MIFirst = CurrentPacketMIs.front();
> - finalizeBundle(*MBB, MIFirst->getIterator(), MI->getIterator());
> + finalizeBundle(*MBB, MIFirst->getInstrIterator(), MI->getInstrIterator());
> }
> CurrentPacketMIs.clear();
> ResourceTracker->clearResources();
>
> Modified: llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp Sun Feb 21 16:58:35 2016
> @@ -90,8 +90,10 @@ static bool NoInterveningSideEffect(cons
> if (MI->getParent() != MBB)
> return false;
>
> - for (MachineBasicBlock::const_iterator I = std::next(CopyMI->getIterator()),
> - E = MBB->end(), E2 = MI->getIterator(); I != E && I != E2; ++I) {
> + for (MachineBasicBlock::const_instr_iterator
> + I = std::next(CopyMI->getInstrIterator()),
> + E = MBB->instr_end(), E2 = MI->getInstrIterator();
> + I != E && I != E2; ++I) {
> if (I->hasUnmodeledSideEffects() || I->isCall() ||
> I->isTerminator())
> return false;
> @@ -163,8 +165,8 @@ void MachineCopyPropagation::CopyPropaga
>
> // Clear any kills of Def between CopyMI and MI. This extends the
> // live range.
> - for (MachineInstr &MMI
> - : make_range(CopyMI->getIterator(), MI->getIterator()))
> + for (MachineInstr &MMI :
> + make_range(CopyMI->getInstrIterator(), MI->getInstrIterator()))
> MMI.clearRegisterKills(Def, TRI);
>
> MI->eraseFromParent();
>
> Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Sun Feb 21 16:58:35 2016
> @@ -934,7 +934,7 @@ MachineInstr::mergeMemRefsWith(const Mac
>
> bool MachineInstr::hasPropertyInBundle(unsigned Mask, QueryType Type) const {
> assert(!isBundledWithPred() && "Must be called on bundle header");
> - for (MachineBasicBlock::const_instr_iterator MII = getIterator();; ++MII) {
> + for (auto MII = getInstrIterator();; ++MII) {
> if (MII->getDesc().getFlags() & Mask) {
> if (Type == AnyInBundle)
> return true;
> @@ -958,10 +958,10 @@ bool MachineInstr::isIdenticalTo(const M
>
> if (isBundle()) {
> // Both instructions are bundles, compare MIs inside the bundle.
> - MachineBasicBlock::const_instr_iterator I1 = getIterator();
> - MachineBasicBlock::const_instr_iterator E1 = getParent()->instr_end();
> - MachineBasicBlock::const_instr_iterator I2 = Other->getIterator();
> - MachineBasicBlock::const_instr_iterator E2= Other->getParent()->instr_end();
> + auto I1 = getInstrIterator();
> + auto E1 = getParent()->instr_end();
> + auto I2 = Other->getInstrIterator();
> + auto E2 = Other->getParent()->instr_end();
> while (++I1 != E1 && I1->isInsideBundle()) {
> ++I2;
> if (I2 == E2 || !I2->isInsideBundle() || !I1->isIdenticalTo(&*I2, Check))
> @@ -1069,8 +1069,7 @@ unsigned MachineInstr::getNumExplicitOpe
> void MachineInstr::bundleWithPred() {
> assert(!isBundledWithPred() && "MI is already bundled with its predecessor");
> setFlag(BundledPred);
> - MachineBasicBlock::instr_iterator Pred = getIterator();
> - --Pred;
> + auto Pred = --getInstrIterator();
> assert(!Pred->isBundledWithSucc() && "Inconsistent bundle flags");
> Pred->setFlag(BundledSucc);
> }
> @@ -1078,8 +1077,7 @@ void MachineInstr::bundleWithPred() {
> void MachineInstr::bundleWithSucc() {
> assert(!isBundledWithSucc() && "MI is already bundled with its successor");
> setFlag(BundledSucc);
> - MachineBasicBlock::instr_iterator Succ = getIterator();
> - ++Succ;
> + auto Succ = ++getInstrIterator();
> assert(!Succ->isBundledWithPred() && "Inconsistent bundle flags");
> Succ->setFlag(BundledPred);
> }
> @@ -1087,8 +1085,7 @@ void MachineInstr::bundleWithSucc() {
> void MachineInstr::unbundleFromPred() {
> assert(isBundledWithPred() && "MI isn't bundled with its predecessor");
> clearFlag(BundledPred);
> - MachineBasicBlock::instr_iterator Pred = getIterator();
> - --Pred;
> + auto Pred = --getInstrIterator();
> assert(Pred->isBundledWithSucc() && "Inconsistent bundle flags");
> Pred->clearFlag(BundledSucc);
> }
> @@ -1096,8 +1093,7 @@ void MachineInstr::unbundleFromPred() {
> void MachineInstr::unbundleFromSucc() {
> assert(isBundledWithSucc() && "MI isn't bundled with its successor");
> clearFlag(BundledSucc);
> - MachineBasicBlock::instr_iterator Succ = getIterator();
> - ++Succ;
> + auto Succ = ++getInstrIterator();
> assert(Succ->isBundledWithPred() && "Inconsistent bundle flags");
> Succ->clearFlag(BundledPred);
> }
> @@ -1232,7 +1228,7 @@ const TargetRegisterClass *MachineInstr:
> /// Return the number of instructions inside the MI bundle, not counting the
> /// header instruction.
> unsigned MachineInstr::getBundleSize() const {
> - MachineBasicBlock::const_instr_iterator I = getIterator();
> + auto I = getInstrIterator();
> unsigned Size = 0;
> while (I->isBundledWithSucc()) {
> ++Size;
>
> Modified: llvm/trunk/lib/CodeGen/ProcessImplicitDefs.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ProcessImplicitDefs.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/ProcessImplicitDefs.cpp (original)
> +++ llvm/trunk/lib/CodeGen/ProcessImplicitDefs.cpp Sun Feb 21 16:58:35 2016
> @@ -96,8 +96,8 @@ void ProcessImplicitDefs::processImplici
>
> // This is a physreg implicit-def.
> // Look for the first instruction to use or define an alias.
> - MachineBasicBlock::instr_iterator UserMI = MI->getIterator();
> - MachineBasicBlock::instr_iterator UserE = MI->getParent()->instr_end();
> + auto UserMI = MI->getInstrIterator();
> + auto UserE = MI->getParent()->instr_end();
> bool Found = false;
> for (++UserMI; UserMI != UserE; ++UserMI) {
> for (MachineOperand &MO : UserMI->operands()) {
>
> Modified: llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp (original)
> +++ llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp Sun Feb 21 16:58:35 2016
> @@ -1200,8 +1200,8 @@ static void toggleBundleKillFlag(Machine
> // Once we set a kill flag on an instruction, we bail out, as otherwise we
> // might set it on too many operands. We will clear as many flags as we
> // can though.
> - MachineBasicBlock::instr_iterator Begin = MI->getIterator();
> - MachineBasicBlock::instr_iterator End = getBundleEnd(MI);
> + auto Begin = MI->getInstrIterator();
> + auto End = getBundleEnd(MI);
> while (Begin != End) {
> for (MachineOperand &MO : (--End)->operands()) {
> if (!MO.isReg() || MO.isDef() || Reg != MO.getReg())
> @@ -1334,8 +1334,8 @@ void ScheduleDAGInstrs::fixupKills(Machi
> toggleKillFlag(MI, MO);
> DEBUG(MI->dump());
> DEBUG(if (MI->getOpcode() == TargetOpcode::BUNDLE) {
> - MachineBasicBlock::instr_iterator Begin = MI->getIterator();
> - MachineBasicBlock::instr_iterator End = getBundleEnd(MI);
> + auto Begin = MI->getInstrIterator();
> + auto End = getBundleEnd(MI);
> while (++Begin != End)
> DEBUG(Begin->dump());
> });
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp Sun Feb 21 16:58:35 2016
> @@ -118,7 +118,7 @@ struct LDTLSCleanup : public MachineFunc
>
> // Insert a copy from X0 to TLSBaseAddrReg for later.
> MachineInstr *Copy =
> - BuildMI(*I->getParent(), ++I->getIterator(), I->getDebugLoc(),
> + BuildMI(*I->getParent(), ++I->getInstrIterator(), I->getDebugLoc(),
> TII->get(TargetOpcode::COPY), *TLSBaseAddrReg)
> .addReg(AArch64::X0);
>
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp Sun Feb 21 16:58:35 2016
> @@ -154,8 +154,8 @@ bool AArch64RedundantCopyElimination::op
> MBB->addLiveIn(TargetReg);
>
> // Clear any kills of TargetReg between CompBr and the last removed COPY.
> - for (MachineInstr &MMI :
> - make_range(MBB->begin()->getIterator(), LastChange->getIterator()))
> + for (MachineInstr &MMI : make_range(MBB->begin()->getInstrIterator(),
> + LastChange->getInstrIterator()))
> MMI.clearRegisterKills(SmallestDef, TRI);
>
> return true;
>
> Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp (original)
> +++ llvm/trunk/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp Sun Feb 21 16:58:35 2016
> @@ -97,7 +97,7 @@ void AMDGPUAsmPrinter::EmitInstruction(c
> #endif
> if (MI->isBundle()) {
> const MachineBasicBlock *MBB = MI->getParent();
> - MachineBasicBlock::const_instr_iterator I = ++MI->getIterator();
> + auto I = ++MI->getInstrIterator();
> while (I != MBB->instr_end() && I->isInsideBundle()) {
> EmitInstruction(&*I);
> ++I;
>
> Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Sun Feb 21 16:58:35 2016
> @@ -440,8 +440,8 @@ ReverseBranchCondition(SmallVectorImpl<M
>
> bool ARMBaseInstrInfo::isPredicated(const MachineInstr *MI) const {
> if (MI->isBundle()) {
> - MachineBasicBlock::const_instr_iterator I = MI->getIterator();
> - MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
> + auto I = MI->getInstrIterator();
> + auto E = MI->getParent()->instr_end();
> while (++I != E && I->isInsideBundle()) {
> int PIdx = I->findFirstPredOperandIdx();
> if (PIdx != -1 && I->getOperand(PIdx).getImm() != ARMCC::AL)
> @@ -647,8 +647,8 @@ unsigned ARMBaseInstrInfo::GetInstSizeIn
>
> unsigned ARMBaseInstrInfo::getInstBundleLength(const MachineInstr *MI) const {
> unsigned Size = 0;
> - MachineBasicBlock::const_instr_iterator I = MI->getIterator();
> - MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
> + auto I = MI->getInstrIterator();
> + auto E = MI->getParent()->instr_end();
> while (++I != E && I->isInsideBundle()) {
> assert(!I->isBundle() && "No nested bundle!");
> Size += GetInstSizeInBytes(&*I);
> @@ -3432,7 +3432,7 @@ static const MachineInstr *getBundledUse
> unsigned &UseIdx, unsigned &Dist) {
> Dist = 0;
>
> - MachineBasicBlock::const_instr_iterator II = ++MI->getIterator();
> + auto II = ++MI->getInstrIterator();
> assert(II->isInsideBundle() && "Empty bundle?");
> MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
>
> @@ -3975,8 +3975,8 @@ unsigned ARMBaseInstrInfo::getInstrLaten
> // other passes may query the latency of a bundled instruction.
> if (MI->isBundle()) {
> unsigned Latency = 0;
> - MachineBasicBlock::const_instr_iterator I = MI->getIterator();
> - MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
> + auto I = MI->getInstrIterator();
> + auto E = MI->getParent()->instr_end();
> while (++I != E && I->isInsideBundle()) {
> if (I->getOpcode() != ARM::t2IT)
> Latency += getInstrLatency(ItinData, &*I, PredCost);
>
> Modified: llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp Sun Feb 21 16:58:35 2016
> @@ -731,7 +731,7 @@ void ARMExpandPseudo::ExpandMOV32BitImm(
> HI16.addImm(Pred).addReg(PredReg);
>
> if (RequiresBundling)
> - finalizeBundle(MBB, LO16->getIterator(), MBBI->getIterator());
> + finalizeBundle(MBB, LO16->getInstrIterator(), MBBI->getInstrIterator());
>
> TransferImpOps(MI, LO16, HI16);
> MI.eraseFromParent();
>
> Modified: llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/Thumb2ITBlockPass.cpp Sun Feb 21 16:58:35 2016
> @@ -257,7 +257,7 @@ bool Thumb2ITBlockPass::InsertITInstruct
>
> // Finalize the bundle.
> finalizeBundle(MBB, InsertPos.getInstrIterator(),
> - ++LastITMI->getIterator());
> + ++LastITMI->getInstrIterator());
>
> Modified = true;
> ++NumITs;
>
> Modified: llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/Hexagon/HexagonAsmPrinter.cpp Sun Feb 21 16:58:35 2016
> @@ -591,7 +591,7 @@ void HexagonAsmPrinter::EmitInstruction(
>
> if (MI->isBundle()) {
> const MachineBasicBlock* MBB = MI->getParent();
> - MachineBasicBlock::const_instr_iterator MII = MI->getIterator();
> + auto MII = MI->getInstrIterator();
> unsigned IgnoreCount = 0;
>
> for (++MII; MII != MBB->instr_end() && MII->isInsideBundle(); ++MII)
>
> Modified: llvm/trunk/lib/Target/Hexagon/HexagonHardwareLoops.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonHardwareLoops.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Hexagon/HexagonHardwareLoops.cpp (original)
> +++ llvm/trunk/lib/Target/Hexagon/HexagonHardwareLoops.cpp Sun Feb 21 16:58:35 2016
> @@ -1295,7 +1295,7 @@ bool HexagonHardwareLoops::orderBumpComp
> // Out of order.
> unsigned PredR = CmpI->getOperand(0).getReg();
> bool FoundBump = false;
> - instr_iterator CmpIt = CmpI->getIterator(), NextIt = std::next(CmpIt);
> + instr_iterator CmpIt = CmpI->getInstrIterator(), NextIt = std::next(CmpIt);
> for (instr_iterator I = NextIt, E = BB->instr_end(); I != E; ++I) {
> MachineInstr *In = &*I;
> for (unsigned i = 0, n = In->getNumOperands(); i < n; ++i) {
> @@ -1307,7 +1307,7 @@ bool HexagonHardwareLoops::orderBumpComp
> }
>
> if (In == BumpI) {
> - BB->splice(++BumpI->getIterator(), BB, CmpI->getIterator());
> + BB->splice(++BumpI->getInstrIterator(), BB, CmpI->getInstrIterator());
> FoundBump = true;
> break;
> }
>
> Modified: llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp Sun Feb 21 16:58:35 2016
> @@ -520,7 +520,7 @@ bool HexagonInstrInfo::AnalyzeBranch(Mac
> // executed, so remove it.
> if (SecLastOpcode == Hexagon::J2_jump && LastOpcode == Hexagon::J2_jump) {
> TBB = SecondLastInst->getOperand(0).getMBB();
> - I = LastInst->getIterator();
> + I = LastInst->getInstrIterator();
> if (AllowModify)
> I->eraseFromParent();
> return false;
> @@ -1260,7 +1260,7 @@ bool HexagonInstrInfo::PredicateInstruct
> for (unsigned i = 0, n = T->getNumOperands(); i < n; ++i)
> MI->addOperand(T->getOperand(i));
>
> - MachineBasicBlock::instr_iterator TI = T->getIterator();
> + auto TI = T->getInstrIterator();
> B.erase(TI);
>
> MachineRegisterInfo &MRI = B.getParent()->getRegInfo();
>
> Modified: llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cpp Sun Feb 21 16:58:35 2016
> @@ -173,9 +173,8 @@ void MipsAsmPrinter::EmitInstruction(con
> return;
> }
>
> -
> - MachineBasicBlock::const_instr_iterator I = MI->getIterator();
> - MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
> + auto I = MI->getInstrIterator();
> + auto E = MI->getParent()->instr_end();
>
> do {
> // Do any auto-generated pseudo lowerings.
>
> Modified: llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/Sparc/SparcAsmPrinter.cpp Sun Feb 21 16:58:35 2016
> @@ -267,8 +267,8 @@ void SparcAsmPrinter::EmitInstruction(co
> LowerGETPCXAndEmitMCInsts(MI, getSubtargetInfo());
> return;
> }
> - MachineBasicBlock::const_instr_iterator I = MI->getIterator();
> - MachineBasicBlock::const_instr_iterator E = MI->getParent()->instr_end();
> + auto I = MI->getInstrIterator();
> + auto E = MI->getParent()->instr_end();
> do {
> MCInst TmpInst;
> LowerSparcMachineInstrToMCInst(&*I, TmpInst, *this);
>
> Modified: llvm/trunk/lib/Target/X86/X86FrameLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FrameLowering.cpp?rev=261504&r1=261503&r2=261504&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86FrameLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86FrameLowering.cpp Sun Feb 21 16:58:35 2016
> @@ -462,7 +462,9 @@ void X86FrameLowering::inlineStackProbe(
> }
>
> if (ChkStkStub != nullptr) {
> - MachineBasicBlock::iterator MBBI = std::next(ChkStkStub->getIterator());
> + // FIXME: MBBI is a bundle iterator. Should this be getBundleIterator()?
> + MachineBasicBlock::iterator MBBI =
> + std::next(ChkStkStub->getInstrIterator());
> assert(std::prev(MBBI).operator==(ChkStkStub) &&
> "MBBI expected after __chkstk_stub.");
> DebugLoc DL = PrologMBB.findDebugLoc(MBBI);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list