LLVM API Documentation

Cloning.h File Reference

#include <vector>
#include "llvm/ADT/DenseMap.h"

Include dependency graph for Cloning.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm

Classes

struct  llvm::ClonedCodeInfo

Functions

Module * llvm::CloneModule (const Module *M)
Module * llvm::CloneModule (const Module *M, DenseMap< const Value *, Value * > &ValueMap)
BasicBlock * llvm::CloneBasicBlock (const BasicBlock *BB, DenseMap< const Value *, Value * > &ValueMap, const char *NameSuffix="", Function *F=0, ClonedCodeInfo *CodeInfo=0)
Loop * llvm::CloneLoop (Loop *L, LPPassManager *LPM, LoopInfo *LI, DenseMap< const Value *, Value * > &ValueMap, Pass *P)
Function * llvm::CloneFunction (const Function *F, DenseMap< const Value *, Value * > &ValueMap, ClonedCodeInfo *CodeInfo=0)
Function * llvm::CloneFunction (const Function *F, ClonedCodeInfo *CodeInfo=0)
void llvm::CloneFunctionInto (Function *NewFunc, const Function *OldFunc, DenseMap< const Value *, Value * > &ValueMap, std::vector< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=0)
void llvm::CloneAndPruneFunctionInto (Function *NewFunc, const Function *OldFunc, DenseMap< const Value *, Value * > &ValueMap, std::vector< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=0, const TargetData *TD=0)
void llvm::CloneTraceInto (Function *NewFunc, Trace &T, DenseMap< const Value *, Value * > &ValueMap, const char *NameSuffix)
std::vector< BasicBlock * > llvm::CloneTrace (const std::vector< BasicBlock * > &origTrace)
bool llvm::InlineFunction (CallInst *C, CallGraph *CG=0, const TargetData *TD=0)
bool llvm::InlineFunction (InvokeInst *II, CallGraph *CG=0, const TargetData *TD=0)
bool llvm::InlineFunction (CallSite CS, CallGraph *CG=0, const TargetData *TD=0)