LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Enumerations | Functions | Variables
LegacyPassManager.cpp File Reference
#include "llvm/Assembly/PrintModulePass.h"
#include "llvm/Assembly/Writer.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/LegacyPassManagers.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/PassNameParser.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

 llvm
 List of target independent CodeGen pass IDs.
 
 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 44 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 108 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 88 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 102 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 497 of file LegacyPassManager.cpp.

Referenced by llvm::getPassTimer().