LLVM API Documentation

CodeExtractor.cpp File Reference

#include "llvm/Transforms/Utils/FunctionUtils.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/Verifier.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/StringExtras.h"
#include <algorithm>
#include <set>
#include <iostream>

Include dependency graph for CodeExtractor.cpp:

Go to the source code of this file.

Typedefs

typedef std::vector< Value * > Values

Functions

Functionllvm::ExtractCodeRegion (DominatorSet &DS, const std::vector< BasicBlock * > &code, bool AggregateArgs)
Functionllvm::ExtractLoop (DominatorSet &DS, Loop *L, bool AggregateArgs)
Functionllvm::ExtractBasicBlock (BasicBlock *BB, bool AggregateArgs)

Variables

static cl::opt< bool > AggregateArgsOpt ("aggregate-extracted-args", cl::Hidden, cl::desc("Aggregate arguments to code-extracted functions"))
std::set< BasicBlock * > BlocksToExtract
DominatorSetDS
bool AggregateArgs
unsigned NumExitBlocks
const TypeRetTy


Typedef Documentation

typedef std::vector<Value*> Values

Definition at line 45 of file CodeExtractor.cpp.


Variable Documentation

bool AggregateArgs

Definition at line 48 of file CodeExtractor.cpp.

cl::opt<bool> AggregateArgsOpt("aggregate-extracted-args", cl::Hidden, cl::desc("Aggregate arguments to code-extracted functions")) [static]

std::set<BasicBlock*> BlocksToExtract

Definition at line 46 of file CodeExtractor.cpp.

DominatorSet* DS

Definition at line 47 of file CodeExtractor.cpp.

Referenced by llvm::ExtractCodeRegion(), llvm::ExtractLoop(), FindPHIToPartitionLoops(), llvm::PostDominatorSet::runOnFunction(), llvm::DominatorSet::runOnFunction(), and llvm::SplitCriticalEdge().

unsigned NumExitBlocks

Definition at line 49 of file CodeExtractor.cpp.

const Type* RetTy

Definition at line 50 of file CodeExtractor.cpp.

Referenced by CheckVarargs(), llvm::FunctionValType::doRefinement(), EnsureFunctionExists(), llvm::Module::getOrInsertFunction(), llvm::X86TargetLowering::LowerCallTo(), llvm::PPCTargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), llvm::AlphaTargetLowering::LowerCallTo(), llvm::FunctionValType::operator<(), ReplaceCallWith(), llvm::JIT::runFunction(), RunParser(), and llvm::Interpreter::visitReturnInst().