mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Take out the debug info probe stuff. It's making some changes to
the PassManager annoying and should be reimplemented as a decorator on top of existing passes (as should the timing data). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153305 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -14,10 +14,8 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Analysis/LoopPass.h"
|
||||
#include "llvm/DebugInfoProbe.h"
|
||||
#include "llvm/Assembly/PrintModulePass.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/ManagedStatic.h"
|
||||
#include "llvm/Support/Timer.h"
|
||||
using namespace llvm;
|
||||
|
||||
@ -53,20 +51,6 @@ public:
|
||||
char PrintLoopPass::ID = 0;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// DebugInfoProbe
|
||||
|
||||
static DebugInfoProbeInfo *TheDebugProbe;
|
||||
static void createDebugInfoProbe() {
|
||||
if (TheDebugProbe) return;
|
||||
|
||||
// Constructed the first time this is called. This guarantees that the
|
||||
// object will be constructed, if -enable-debug-info-probe is set,
|
||||
// before static globals, thus it will be destroyed before them.
|
||||
static ManagedStatic<DebugInfoProbeInfo> DIP;
|
||||
TheDebugProbe = &*DIP;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// LPPassManager
|
||||
//
|
||||
@ -195,7 +179,6 @@ void LPPassManager::getAnalysisUsage(AnalysisUsage &Info) const {
|
||||
bool LPPassManager::runOnFunction(Function &F) {
|
||||
LI = &getAnalysis<LoopInfo>();
|
||||
bool Changed = false;
|
||||
createDebugInfoProbe();
|
||||
|
||||
// Collect inherited analysis from Module level pass manager.
|
||||
populateInheritedAnalysis(TPM->activeStack);
|
||||
@ -227,21 +210,19 @@ bool LPPassManager::runOnFunction(Function &F) {
|
||||
// Run all passes on the current Loop.
|
||||
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
|
||||
LoopPass *P = getContainedPass(Index);
|
||||
|
||||
dumpPassInfo(P, EXECUTION_MSG, ON_LOOP_MSG,
|
||||
CurrentLoop->getHeader()->getName());
|
||||
dumpRequiredSet(P);
|
||||
|
||||
initializeAnalysisImpl(P);
|
||||
if (TheDebugProbe)
|
||||
TheDebugProbe->initialize(P, F);
|
||||
|
||||
{
|
||||
PassManagerPrettyStackEntry X(P, *CurrentLoop->getHeader());
|
||||
TimeRegion PassTimer(getPassTimer(P));
|
||||
|
||||
Changed |= P->runOnLoop(CurrentLoop, *this);
|
||||
}
|
||||
if (TheDebugProbe)
|
||||
TheDebugProbe->finalize(P, F);
|
||||
|
||||
if (Changed)
|
||||
dumpPassInfo(P, MODIFICATION_MSG, ON_LOOP_MSG,
|
||||
|
Reference in New Issue
Block a user