9#ifndef LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPU_ASAN_INSTRUMENTATION_H
10#define LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPU_ASAN_INSTRUMENTATION_H
23#include "llvm/IR/IntrinsicsAMDGPU.h"
46 Instruction *InsertBefore,
Value *Addr, Align Alignment,
47 TypeSize TypeStoreSize,
bool IsWrite,
48 Value *SizeArgument,
bool UseCalls,
bool Recover,
55 SmallVectorImpl<InterestingMemoryOperand> &Interesting);
This file defines the StringMap class.
This file contains the declarations for the subclasses of Constant, which represent the different fla...
Machine Check Debug Module
This file provides an interface for laying out a sequence of fields as a struct in a way that attempt...
This file defines generic set operations that may be used on set's of different types,...
void getInterestingMemoryOperands(Module &M, Instruction *I, SmallVectorImpl< InterestingMemoryOperand > &Interesting)
Get all the memory operands from the instruction that needs to be instrumented.
void instrumentAddress(Module &M, IRBuilder<> &IRB, Instruction *OrigIns, Instruction *InsertBefore, Value *Addr, Align Alignment, TypeSize TypeStoreSize, bool IsWrite, Value *SizeArgument, bool UseCalls, bool Recover, int AsanScale, int AsanOffset)
Instrument the memory operand Addr.
uint64_t getRedzoneSizeForGlobal(int AsanScale, uint64_t SizeInBytes)
Given SizeInBytes of the Value to be instrunmented, Returns the redzone size corresponding to it.
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr Value
IRBuilder(LLVMContext &, FolderTy, InserterTy, MDNode *, ArrayRef< OperandBundleDef >) -> IRBuilder< FolderTy, InserterTy >