LLVM API Documentation

Classes | Namespaces | Enumerations | Functions | Variables
LegacyPassManager.cpp File Reference
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/LegacyPassManagers.h"
#include "llvm/IR/LegacyPassNameParser.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/TimeValue.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <map>
Include dependency graph for LegacyPassManager.cpp:

Go to the source code of this file.

Classes

class  llvm::legacy::FunctionPassManagerImpl
 FunctionPassManagerImpl manages FPPassManagers. More...
class  llvm::legacy::PassManagerImpl
 PassManagerImpl manages MPPassManagers. More...

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


namespace  llvm::legacy

Enumerations

enum  PassDebugLevel

Functions

static PassOptionList PrintBefore ("print-before", llvm::cl::desc("Print IR before specified passes"), cl::Hidden)
static PassOptionList PrintAfter ("print-after", llvm::cl::desc("Print IR after specified passes"), cl::Hidden)
static bool ShouldPrintBeforeOrAfterPass (const PassInfo *PI, PassOptionList &PassesToPrint)
static bool ShouldPrintBeforePass (const PassInfo *PI)
static bool ShouldPrintAfterPass (const PassInfo *PI)

Variables

static cl::opt< enum
PassDebugLevel
PassDebugging ("debug-pass", cl::Hidden, cl::desc("Print PassManager debugging information"), cl::values(clEnumVal(Disabled,"disable debug output"), clEnumVal(Arguments,"print pass arguments to pass to 'opt'"), clEnumVal(Structure,"print pass structure before run()"), clEnumVal(Executions,"print pass name before it is executed"), clEnumVal(Details,"print pass details when it is executed"), clEnumValEnd))
static cl::opt< boolPrintBeforeAll ("print-before-all", llvm::cl::desc("Print IR before each pass"), cl::init(false))
static cl::opt< boolPrintAfterAll ("print-after-all", llvm::cl::desc("Print IR after each pass"), cl::init(false))
static TimingInfo * TheTimeInfo
static cl::opt< bool, trueEnableTiming ("time-passes", cl::location(TimePassesIsEnabled), cl::desc("Time each pass, printing elapsed time for each on exit"))

Enumeration Type Documentation

Definition at line 45 of file LegacyPassManager.cpp.


Function Documentation

static PassOptionList PrintAfter ( "print-after"  ,
llvm::cl::  desc"Print IR after specified passes",
cl::Hidden   
) [static]

Referenced by ShouldPrintAfterPass().

static PassOptionList PrintBefore ( "print-before"  ,
llvm::cl::  desc"Print IR before specified passes",
cl::Hidden   
) [static]

Referenced by ShouldPrintBeforePass().

static bool ShouldPrintAfterPass ( const PassInfo PI) [static]

This is a utility to check whether a pass should have IR dumped after it.

Definition at line 109 of file LegacyPassManager.cpp.

References PrintAfter(), PrintAfterAll, and ShouldPrintBeforeOrAfterPass().

Referenced by llvm::PMTopLevelManager::schedulePass().

static bool ShouldPrintBeforeOrAfterPass ( const PassInfo PI,
PassOptionList &  PassesToPrint 
) [static]

This is a helper to determine whether to print IR before or after a pass.

Definition at line 89 of file LegacyPassManager.cpp.

References llvm::PassInfo::getPassArgument().

Referenced by ShouldPrintAfterPass(), and ShouldPrintBeforePass().

static bool ShouldPrintBeforePass ( const PassInfo PI) [static]

This is a utility to check whether a pass should have IR dumped before it.

Definition at line 103 of file LegacyPassManager.cpp.

References PrintBefore(), PrintBeforeAll, and ShouldPrintBeforeOrAfterPass().

Referenced by llvm::PMTopLevelManager::schedulePass().


Variable Documentation

cl::opt<bool,true> EnableTiming("time-passes", cl::location(TimePassesIsEnabled), cl::desc("Time each pass, printing elapsed time for each on exit")) [static]
cl::opt<enum PassDebugLevel> PassDebugging("debug-pass", cl::Hidden, cl::desc("Print PassManager debugging information"), cl::values(clEnumVal(Disabled,"disable debug output"),clEnumVal(Arguments,"print pass arguments to pass to 'opt'"),clEnumVal(Structure,"print pass structure before run()"),clEnumVal(Executions,"print pass name before it is executed"),clEnumVal(Details,"print pass details when it is executed"),clEnumValEnd)) [static]
cl::opt<bool> PrintAfterAll("print-after-all", llvm::cl::desc("Print IR after each pass"), cl::init(false)) [static]

Referenced by ShouldPrintAfterPass().

cl::opt<bool> PrintBeforeAll("print-before-all", llvm::cl::desc("Print IR before each pass"), cl::init(false)) [static]

Referenced by ShouldPrintBeforePass().

TimingInfo* TheTimeInfo [static]

Definition at line 501 of file LegacyPassManager.cpp.

Referenced by llvm::getPassTimer().