LLVM API Documentation

Classes | Namespaces | Functions
Cloning.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"
#include "llvm/Transforms/Utils/ValueMapper.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.

Classes

struct  llvm::ClonedCodeInfo
class  llvm::InlineFunctionInfo

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Functions

Modulellvm::CloneModule (const Module *M)
Modulellvm::CloneModule (const Module *M, ValueToValueMapTy &VMap)
BasicBlockllvm::CloneBasicBlock (const BasicBlock *BB, ValueToValueMapTy &VMap, const Twine &NameSuffix="", Function *F=nullptr, ClonedCodeInfo *CodeInfo=nullptr)
Functionllvm::CloneFunction (const Function *F, ValueToValueMapTy &VMap, bool ModuleLevelChanges, ClonedCodeInfo *CodeInfo=nullptr)
void llvm::CloneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
void llvm::CloneAndPruneFunctionInto (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap, bool ModuleLevelChanges, SmallVectorImpl< ReturnInst * > &Returns, const char *NameSuffix="", ClonedCodeInfo *CodeInfo=nullptr, const DataLayout *DL=nullptr, Instruction *TheCall=nullptr)
bool llvm::InlineFunction (CallInst *C, InlineFunctionInfo &IFI, bool InsertLifetime=true)
bool llvm::InlineFunction (InvokeInst *II, InlineFunctionInfo &IFI, bool InsertLifetime=true)
bool llvm::InlineFunction (CallSite CS, InlineFunctionInfo &IFI, bool InsertLifetime=true)