Render MachineFunctions to HTML pages, with options to render register

pressure estimates and liveness alongside.

Still experimental.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames
2010-07-19 15:22:28 +00:00
parent b68f7aea33
commit 54cc2efb4e
4 changed files with 1135 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#include "PBQP/HeuristicSolver.h"
#include "PBQP/Graph.h"
#include "PBQP/Heuristics/Briggs.h"
#include "RenderMachineFunction.h"
#include "Splitter.h"
#include "VirtRegMap.h"
#include "VirtRegRewriter.h"
@ -105,6 +106,7 @@ namespace {
if (pbqpPreSplitting)
au.addRequired<LoopSplitter>();
au.addRequired<VirtRegMap>();
au.addRequired<RenderMachineFunction>();
MachineFunctionPass::getAnalysisUsage(au);
}
@ -866,6 +868,9 @@ bool PBQPRegAlloc::runOnMachineFunction(MachineFunction &MF) {
vrm = &getAnalysis<VirtRegMap>();
RenderMachineFunction *rmf = &getAnalysis<RenderMachineFunction>();
rmf->renderMachineFunction("Prior to PBQP register allocation.");
DEBUG(dbgs() << "PBQP Register Allocating for " << mf->getFunction()->getName() << "\n");
// Allocator main loop: