From: Nikita Popov Date: Sun, 5 Apr 2020 19:14:59 +0000 (+0200) Subject: [RDA] Don't pass down TraversedMBB (NFC) X-Git-Tag: llvmorg-12-init~9799 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76e987b37220128929519c28bef5c566841d9aed;p=platform%2Fupstream%2Fllvm.git [RDA] Don't pass down TraversedMBB (NFC) Only pass the MachineBasicBlock itself down to helper methods, they don't need to know about traversal. Move the debug print into the main method. --- diff --git a/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h b/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h index 44127bf..b530d55 100644 --- a/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h +++ b/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h @@ -199,10 +199,10 @@ public: private: /// Set up LiveRegs by merging predecessor live-out values. - void enterBasicBlock(const LoopTraversal::TraversedMBBInfo &TraversedMBB); + void enterBasicBlock(MachineBasicBlock *MBB); /// Update live-out values. - void leaveBasicBlock(const LoopTraversal::TraversedMBBInfo &TraversedMBB); + void leaveBasicBlock(MachineBasicBlock *MBB); /// Process he given basic block. void processBasicBlock(const LoopTraversal::TraversedMBBInfo &TraversedMBB); diff --git a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp index 6ca8d5f..506618b 100644 --- a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp +++ b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp @@ -41,10 +41,7 @@ static bool isValidRegDefOf(const MachineOperand &MO, int PhysReg) { return isValidRegDef(MO) && MO.getReg() == PhysReg; } -void ReachingDefAnalysis::enterBasicBlock( - const LoopTraversal::TraversedMBBInfo &TraversedMBB) { - - MachineBasicBlock *MBB = TraversedMBB.MBB; +void ReachingDefAnalysis::enterBasicBlock(MachineBasicBlock *MBB) { unsigned MBBNumber = MBB->getNumber(); assert(MBBNumber < MBBReachingDefs.size() && "Unexpected basic block number."); @@ -94,16 +91,11 @@ void ReachingDefAnalysis::enterBasicBlock( for (unsigned Unit = 0; Unit != NumRegUnits; ++Unit) if (LiveRegs[Unit] != ReachingDefDefaultVal) MBBReachingDefs[MBBNumber][Unit].push_back(LiveRegs[Unit]); - - LLVM_DEBUG(dbgs() << printMBBReference(*MBB) - << (!TraversedMBB.IsDone ? ": incomplete\n" - : ": all preds known\n")); } -void ReachingDefAnalysis::leaveBasicBlock( - const LoopTraversal::TraversedMBBInfo &TraversedMBB) { +void ReachingDefAnalysis::leaveBasicBlock(MachineBasicBlock *MBB) { assert(!LiveRegs.empty() && "Must enter basic block first."); - unsigned MBBNumber = TraversedMBB.MBB->getNumber(); + unsigned MBBNumber = MBB->getNumber(); assert(MBBNumber < MBBOutRegsInfos.size() && "Unexpected basic block number."); // Save register clearances at end of MBB - used by enterBasicBlock(). @@ -147,12 +139,17 @@ void ReachingDefAnalysis::processDefs(MachineInstr *MI) { void ReachingDefAnalysis::processBasicBlock( const LoopTraversal::TraversedMBBInfo &TraversedMBB) { - enterBasicBlock(TraversedMBB); - for (MachineInstr &MI : *TraversedMBB.MBB) { + MachineBasicBlock *MBB = TraversedMBB.MBB; + LLVM_DEBUG(dbgs() << printMBBReference(*MBB) + << (!TraversedMBB.IsDone ? ": incomplete\n" + : ": all preds known\n")); + + enterBasicBlock(MBB); + for (MachineInstr &MI : *MBB) { if (!MI.isDebugInstr()) processDefs(&MI); } - leaveBasicBlock(TraversedMBB); + leaveBasicBlock(MBB); } bool ReachingDefAnalysis::runOnMachineFunction(MachineFunction &mf) {