LLVM 20.0.0git
Namespaces | Macros | Functions
AMDGPUAsanInstrumentation.cpp File Reference
#include "AMDGPUAsanInstrumentation.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::AMDGPU
 

Macros

#define DEBUG_TYPE   "amdgpu-asan-instrumentation"
 

Functions

static uint64_t llvm::AMDGPU::getRedzoneSizeForScale (int AsanScale)
 
static uint64_t llvm::AMDGPU::getMinRedzoneSizeForGlobal (int AsanScale)
 
uint64_t llvm::AMDGPU::getRedzoneSizeForGlobal (int Scale, uint64_t SizeInBytes)
 Given SizeInBytes of the Value to be instrunmented, Returns the redzone size corresponding to it.
 
static size_t llvm::AMDGPU::TypeStoreSizeToSizeIndex (uint32_t TypeSize)
 
static Instructionllvm::AMDGPU::genAMDGPUReportBlock (Module &M, IRBuilder<> &IRB, Value *Cond, bool Recover)
 
static Valuellvm::AMDGPU::createSlowPathCmp (Module &M, IRBuilder<> &IRB, Type *IntptrTy, Value *AddrLong, Value *ShadowValue, uint32_t TypeStoreSize, int AsanScale)
 
static Instructionllvm::AMDGPU::generateCrashCode (Module &M, IRBuilder<> &IRB, Type *IntptrTy, Instruction *InsertBefore, Value *Addr, bool IsWrite, size_t AccessSizeIndex, Value *SizeArgument, bool Recover)
 
static Valuellvm::AMDGPU::memToShadow (Module &M, IRBuilder<> &IRB, Type *IntptrTy, Value *Shadow, int AsanScale, uint32_t AsanOffset)
 
static void llvm::AMDGPU::instrumentAddressImpl (Module &M, IRBuilder<> &IRB, Instruction *OrigIns, Instruction *InsertBefore, Value *Addr, Align Alignment, uint32_t TypeStoreSize, bool IsWrite, Value *SizeArgument, bool UseCalls, bool Recover, int AsanScale, int AsanOffset)
 
void llvm::AMDGPU::instrumentAddress (Module &M, IRBuilder<> &IRB, Instruction *OrigIns, Instruction *InsertBefore, Value *Addr, Align Alignment, TypeSize TypeStoreSize, bool IsWrite, Value *SizeArgument, bool UseCalls, bool Recover, int Scale, int Offset)
 Instrument the memory operand Addr.
 
void llvm::AMDGPU::getInterestingMemoryOperands (Module &M, Instruction *I, SmallVectorImpl< InterestingMemoryOperand > &Interesting)
 Get all the memory operands from the instruction that needs to be instrumented.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-asan-instrumentation"

Definition at line 11 of file AMDGPUAsanInstrumentation.cpp.