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().