diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-10-13 21:57:11 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-10-13 21:57:11 +0000 |
commit | a7e5c84590e6883b39ecca6baa35d0a2c3e8cdba (patch) | |
tree | d0387d94e6f0f239e37899b086585cbb3840db9d /llvm/lib/Target/Hexagon/BitTracker.cpp | |
parent | f6c69564e7f36aca1098e69102d0467f0547c369 (diff) | |
download | bcm5719-llvm-a7e5c84590e6883b39ecca6baa35d0a2c3e8cdba.tar.gz bcm5719-llvm-a7e5c84590e6883b39ecca6baa35d0a2c3e8cdba.zip |
Revert r315763: "[Hexagon] Rangify some loops, NFC"
Broke some builds (using libstdc++).
llvm-svn: 315769
Diffstat (limited to 'llvm/lib/Target/Hexagon/BitTracker.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/BitTracker.cpp | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/llvm/lib/Target/Hexagon/BitTracker.cpp b/llvm/lib/Target/Hexagon/BitTracker.cpp index f12b192e882..0b0d48a011e 100644 --- a/llvm/lib/Target/Hexagon/BitTracker.cpp +++ b/llvm/lib/Target/Hexagon/BitTracker.cpp @@ -181,8 +181,8 @@ namespace llvm { } // end namespace llvm void BitTracker::print_cells(raw_ostream &OS) const { - for (const std::pair<unsigned, RegisterCell> P : Map) - dbgs() << PrintReg(P.first, &ME.TRI) << " -> " << P.second << "\n"; + for (CellMapType::iterator I = Map.begin(), E = Map.end(); I != E; ++I) + dbgs() << PrintReg(I->first, &ME.TRI) << " -> " << I->second << "\n"; } BitTracker::BitTracker(const MachineEvaluator &E, MachineFunction &F) @@ -830,16 +830,18 @@ void BT::visitNonBranch(const MachineInstr &MI) { << " cell: " << ME.getCell(RU, Map) << "\n"; } dbgs() << "Outputs:\n"; - for (const std::pair<unsigned, RegisterCell> &P : ResMap) { - RegisterRef RD(P.first); - dbgs() << " " << PrintReg(P.first, &ME.TRI) << " cell: " + for (CellMapType::iterator I = ResMap.begin(), E = ResMap.end(); + I != E; ++I) { + RegisterRef RD(I->first); + dbgs() << " " << PrintReg(I->first, &ME.TRI) << " cell: " << ME.getCell(RD, ResMap) << "\n"; } } // Iterate over all definitions of the instruction, and update the // cells accordingly. - for (const MachineOperand &MO : MI.operands()) { + for (unsigned i = 0, n = MI.getNumOperands(); i < n; ++i) { + const MachineOperand &MO = MI.getOperand(i); // Visit register defs only. if (!MO.isReg() || !MO.isDef()) continue; @@ -924,11 +926,14 @@ void BT::visitBranchesFrom(const MachineInstr &BI) { ++It; } while (FallsThrough && It != End); + using succ_iterator = MachineBasicBlock::const_succ_iterator; + if (!DefaultToAll) { // Need to add all CFG successors that lead to EH landing pads. // There won't be explicit branches to these blocks, but they must // be processed. - for (const MachineBasicBlock *SB : B.successors()) { + for (succ_iterator I = B.succ_begin(), E = B.succ_end(); I != E; ++I) { + const MachineBasicBlock *SB = *I; if (SB->isEHPad()) Targets.insert(SB); } @@ -939,27 +944,33 @@ void BT::visitBranchesFrom(const MachineInstr &BI) { Targets.insert(&*Next); } } else { - for (const MachineBasicBlock *SB : B.successors()) - Targets.insert(SB); + for (succ_iterator I = B.succ_begin(), E = B.succ_end(); I != E; ++I) + Targets.insert(*I); } - for (const MachineBasicBlock *TB : Targets) - FlowQ.push(CFGEdge(ThisN, TB->getNumber())); + for (unsigned i = 0, n = Targets.size(); i < n; ++i) { + int TargetN = Targets[i]->getNumber(); + FlowQ.push(CFGEdge(ThisN, TargetN)); + } } void BT::visitUsesOf(unsigned Reg) { if (Trace) dbgs() << "visiting uses of " << PrintReg(Reg, &ME.TRI) << "\n"; - for (const MachineInstr &UseI : MRI.use_nodbg_instructions(Reg)) { - if (!InstrExec.count(&UseI)) + using use_iterator = MachineRegisterInfo::use_nodbg_iterator; + + use_iterator End = MRI.use_nodbg_end(); + for (use_iterator I = MRI.use_nodbg_begin(Reg); I != End; ++I) { + MachineInstr *UseI = I->getParent(); + if (!InstrExec.count(UseI)) continue; - if (UseI.isPHI()) - visitPHI(UseI); - else if (!UseI.isBranch()) - visitNonBranch(UseI); + if (UseI->isPHI()) + visitPHI(*UseI); + else if (!UseI->isBranch()) + visitNonBranch(*UseI); else - visitBranchesFrom(UseI); + visitBranchesFrom(*UseI); } } @@ -982,8 +993,8 @@ void BT::subst(RegisterRef OldRR, RegisterRef NewRR) { (void)NME; assert((OME-OMB == NME-NMB) && "Substituting registers of different lengths"); - for (std::pair<unsigned, RegisterCell&> P : Map) { - RegisterCell &RC = P.second; + for (CellMapType::iterator I = Map.begin(), E = Map.end(); I != E; ++I) { + RegisterCell &RC = I->second; for (uint16_t i = 0, w = RC.width(); i < w; ++i) { BitValue &V = RC[i]; if (V.Type != BitValue::Ref || V.RefI.Reg != OldRR.Reg) @@ -1034,9 +1045,10 @@ void BT::run() { const MachineBasicBlock *Entry = MachineFlowGraphTraits::getEntryNode(&MF); unsigned MaxBN = 0; - for (const MachineBasicBlock &B : MF) { - assert(B.getNumber() >= 0 && "Disconnected block"); - unsigned BN = B.getNumber(); + for (MachineFunction::const_iterator I = MF.begin(), E = MF.end(); + I != E; ++I) { + assert(I->getNumber() >= 0 && "Disconnected block"); + unsigned BN = I->getNumber(); if (BN > MaxBN) MaxBN = BN; } |