LLVM API Documentation
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/ConstantFolding.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
#include <map>
Go to the source code of this file.
Functions | |
static MDNode * | FindSubprogram (const Function *F, DebugInfoFinder &Finder) |
static void | AddOperand (MDNode *Node, Value *Operand) |
static void | CloneDebugInfoMetadata (Function *NewFunc, const Function *OldFunc, ValueToValueMapTy &VMap) |
static void AddOperand | ( | MDNode * | Node, |
Value * | Operand | ||
) | [static] |
Definition at line 167 of file CloneFunction.cpp.
References llvm::MDNode::get(), llvm::Value::getContext(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::Value::replaceAllUsesWith().
Referenced by CloneDebugInfoMetadata().
static void CloneDebugInfoMetadata | ( | Function * | NewFunc, |
const Function * | OldFunc, | ||
ValueToValueMapTy & | VMap | ||
) | [static] |
Definition at line 179 of file CloneFunction.cpp.
References AddOperand(), llvm::DebugInfoFinder::compile_units(), FindSubprogram(), llvm::GlobalValue::getParent(), llvm::MapValue(), and llvm::DebugInfoFinder::processModule().
Referenced by llvm::CloneFunction().
static MDNode* FindSubprogram | ( | const Function * | F, |
DebugInfoFinder & | Finder | ||
) | [static] |
Definition at line 158 of file CloneFunction.cpp.
References llvm::DebugInfoFinder::subprograms().
Referenced by CloneDebugInfoMetadata().