From 623afbdbd7d130cb89708ca1913adfb1e9f0ff65 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Wed, 3 Aug 2016 18:13:32 +0000 Subject: [PATCH] [Hexagon-ish] Add function to print cell map contents in bit tracker llvm-svn: 277622 --- llvm/lib/Target/Hexagon/BitTracker.cpp | 13 ++++++++----- llvm/lib/Target/Hexagon/BitTracker.h | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Target/Hexagon/BitTracker.cpp b/llvm/lib/Target/Hexagon/BitTracker.cpp index 9a2a597..e3ead28 100644 --- a/llvm/lib/Target/Hexagon/BitTracker.cpp +++ b/llvm/lib/Target/Hexagon/BitTracker.cpp @@ -169,6 +169,12 @@ namespace llvm { } } +void BitTracker::print_cells(raw_ostream &OS) const { + 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) : Trace(false), ME(E), MF(F), MRI(F.getRegInfo()), Map(*new CellMapType) {} @@ -1127,10 +1133,7 @@ void BT::run() { } } // while (!FlowQ->empty()) - if (Trace) { - dbgs() << "Cells after propagation:\n"; - for (CellMapType::iterator I = Map.begin(), E = Map.end(); I != E; ++I) - dbgs() << PrintReg(I->first, &ME.TRI) << " -> " << I->second << "\n"; - } + if (Trace) + print_cells(dbgs() << "Cells after propagation:\n"); } diff --git a/llvm/lib/Target/Hexagon/BitTracker.h b/llvm/lib/Target/Hexagon/BitTracker.h index 3c16a73..74cafcd 100644 --- a/llvm/lib/Target/Hexagon/BitTracker.h +++ b/llvm/lib/Target/Hexagon/BitTracker.h @@ -51,6 +51,8 @@ struct BitTracker { bool reached(const MachineBasicBlock *B) const; void visit(const MachineInstr &MI); + void print_cells(raw_ostream &OS) const; + private: void visitPHI(const MachineInstr &PI); void visitNonBranch(const MachineInstr &MI); -- 2.7.4