LLVM: lib/CodeGen/WindowsSecureHotPatching.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "windows-secure-hot-patch"
Functions
INITIALIZE_PASS (WindowsSecureHotPatching, "windows-secure-hot-patch", "Mark functions for Windows hot patch support", false, false) ModulePass *llvm
static bool TypeContainsPointers (Type *ty)
static bool globalVariableNeedsRedirect (GlobalVariable *GV)
static GlobalVariable * getOrCreateRefVariable (Function &F, SmallDenseMap< GlobalVariable *, GlobalVariable * > &RefMapping, GlobalVariable *GV)
static Value * rewriteGlobalVariablesInConstant (Constant *C, SmallDenseMap< GlobalVariable *, Value * > &GVLoadMap, IRBuilder<> &IRBuilderAtEntry)
static bool searchConstantExprForGlobalVariables (Value *V, SmallDenseMap< GlobalVariable *, Value * > &GVLoadMap, SmallVector< GlobalVariableUse > &GVUses)

DEBUG_TYPE

#define DEBUG_TYPE "windows-secure-hot-patch"

getOrCreateRefVariable()

Definition at line 346 of file WindowsSecureHotPatching.cpp.

References llvm::concat(), llvm::dwarf_linker::DebugInfo, F, llvm::PointerType::get(), llvm::DIScope::getFile(), llvm::ConstantExpr::getGetElementPtr(), llvm::Value::getName(), llvm::DataLayout::getTypeSizeInBits(), llvm::GlobalValue::getValueType(), llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::NotThreadLocal, and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace().

globalVariableNeedsRedirect()

INITIALIZE_PASS()

INITIALIZE_PASS ( WindowsSecureHotPatching ,
"windows-secure-hot-patch" ,
"Mark functions for Windows hot patch support" ,
false ,
false )

rewriteGlobalVariablesInConstant()

Definition at line 409 of file WindowsSecureHotPatching.cpp.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::at(), llvm::CallingConv::C, llvm::cast(), llvm::dyn_cast(), globalVariableNeedsRedirect(), llvm::IRBuilderBase::Insert(), OpIndex, llvm::SmallVectorTemplateBase< T, bool >::push_back(), rewriteGlobalVariablesInConstant(), and llvm::User::setOperand().

Referenced by rewriteGlobalVariablesInConstant().

searchConstantExprForGlobalVariables()

TypeContainsPointers()

bool TypeContainsPointers ( Type * ty) static

LLVMMSSecureHotPatchFunctionsFile

LLVMMSSecureHotPatchFunctionsList