LLVM API Documentation

LoopExtractor.cpp File Reference

#include "llvm/Transforms/IPO.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/FunctionUtils.h"
#include "llvm/ADT/Statistic.h"
#include <fstream>
#include <set>

Include dependency graph for LoopExtractor.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "loop-extract"

Functions

 STATISTIC (NumExtracted,"Number of loops extracted")
FunctionPass * llvm::createLoopExtractorPass ()
FunctionPass * llvm::createSingleLoopExtractorPass ()
ModulePass * llvm::createBlockExtractorPass (const std::vector< BasicBlock * > &BTNE)

Variables

static RegisterPass
< LoopExtractor > 
X ("loop-extract","Extract loops into new functions")
static RegisterPass
< SingleLoopExtractor > 
Y ("loop-extract-single","Extract at most one loop into a new function")
static cl::opt< std::string > BlockFile ("extract-blocks-file", cl::value_desc("filename"), cl::desc("A file containing list of basic blocks to not extract"), cl::Hidden)
static RegisterPass
< BlockExtractorPass > 
XX ("extract-blocks","Extract Basic Blocks From Module (for bugpoint use)")


Define Documentation

#define DEBUG_TYPE   "loop-extract"

Definition at line 17 of file LoopExtractor.cpp.


Function Documentation

STATISTIC ( NumExtracted  ,
"Number of loops extracted"   
)


Variable Documentation

cl::opt<std::string> BlockFile("extract-blocks-file", cl::value_desc("filename"), cl::desc("A file containing list of basic blocks to not extract"), cl::Hidden) [static]

Definition at line 165 of file LoopExtractor.cpp.

std::vector<std::pair<std::string, std::string> > BlocksToNotExtractByName

Definition at line 166 of file LoopExtractor.cpp.

char ID [static]

Definition at line 40 of file LoopExtractor.cpp.

Definition at line 41 of file LoopExtractor.cpp.

RegisterPass<LoopExtractor> X("loop-extract","Extract loops into new functions") [static]

RegisterPass<BlockExtractorPass> XX("extract-blocks","Extract Basic Blocks From Module (for bugpoint use)") [static]

RegisterPass<SingleLoopExtractor> Y("loop-extract-single","Extract at most one loop into a new function") [static]