diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-04-05 21:14:59 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-04-07 17:53:04 +0200 |
commit | 76e987b37220128929519c28bef5c566841d9aed (patch) | |
tree | 83e85c4ed104d807217aad9d5a84f796f2cdcf0f /llvm/lib/CodeGen/ReachingDefAnalysis.cpp | |
parent | 361c29d7ba55ee6fb762d36c08271375bb9f8c60 (diff) | |
download | llvm-76e987b37220128929519c28bef5c566841d9aed.zip llvm-76e987b37220128929519c28bef5c566841d9aed.tar.gz llvm-76e987b37220128929519c28bef5c566841d9aed.tar.bz2 |
[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.
Diffstat (limited to 'llvm/lib/CodeGen/ReachingDefAnalysis.cpp')
-rw-r--r-- | llvm/lib/CodeGen/ReachingDefAnalysis.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
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) { |