LLVM  10.0.0svn
Public Member Functions | List of all members
llvm::HWAddressSanitizerPass Class Reference

This is a public interface to the hardware address sanitizer pass for instrumenting code to check for various memory errors at runtime, similar to AddressSanitizer but based on partial hardware assistance. More...

#include "llvm/Transforms/Instrumentation/HWAddressSanitizer.h"

Inheritance diagram for llvm::HWAddressSanitizerPass:
Inheritance graph
[legend]
Collaboration diagram for llvm::HWAddressSanitizerPass:
Collaboration graph
[legend]

Public Member Functions

 HWAddressSanitizerPass (bool CompileKernel=false, bool Recover=false)
 
PreservedAnalyses run (Module &M, ModuleAnalysisManager &MAM)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< HWAddressSanitizerPass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

This is a public interface to the hardware address sanitizer pass for instrumenting code to check for various memory errors at runtime, similar to AddressSanitizer but based on partial hardware assistance.

Definition at line 25 of file HWAddressSanitizer.h.

Constructor & Destructor Documentation

◆ HWAddressSanitizerPass()

HWAddressSanitizerPass::HWAddressSanitizerPass ( bool  CompileKernel = false,
bool  Recover = false 
)
explicit

Definition at line 319 of file HWAddressSanitizer.cpp.

Member Function Documentation

◆ run()

PreservedAnalyses HWAddressSanitizerPass::run ( Module M,
ModuleAnalysisManager MAM 
)

Definition at line 322 of file HWAddressSanitizer.cpp.

References llvm::PreservedAnalyses::all(), llvm::appendToCompilerUsed(), llvm::appendToGlobalCtors(), llvm::HexStyle::Asm, C, ClInstrumentAtomics, ClInstrumentReads, ClInstrumentWrites, ClMemoryAccessCallbackPrefix, llvm::IRBuilder< T, Inserter >::CreateCall(), llvm::IRBuilder< T, Inserter >::CreateLoad(), llvm::dbgs(), llvm::GlobalValue::ExternalLinkage, F(), llvm::InlineAsm::get(), llvm::FunctionType::get(), llvm::ArrayType::get(), llvm::Module::getContext(), llvm::Module::getDataLayout(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::IRBuilderBase::getInt8Ty(), llvm::IRBuilderBase::getIntPtrTy(), llvm::Instruction::getMetadata(), llvm::Instruction::getModule(), llvm::Module::getName(), llvm::getOrCreateSanitizerCtorAndInitFunctions(), llvm::Module::getOrInsertComdat(), llvm::Module::getOrInsertFunction(), llvm::Module::getOrInsertGlobal(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Type::getPointerAddressSpace(), llvm::Type::getScalarType(), llvm::Module::getTargetTriple(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSizeInBits(), llvm::getUniqueModuleId(), llvm::IRBuilderBase::getVoidTy(), I, llvm::GlobalValue::InitialExecTLSModel, Int32Ty, llvm::Value::isSwiftError(), llvm::itostr(), kDynamicShadowSentinel, kNumberOfAccessSizes, LLVM_DEBUG, Modified, llvm::PreservedAnalyses::none(), llvm::GlobalObject::setComdat(), and SI.


The documentation for this class was generated from the following files: