12#ifndef LLVM_TRANSFORMS_UTILS_ASANSTACKFRAMELAYOUT_H
13#define LLVM_TRANSFORMS_UTILS_ASANSTACKFRAMELAYOUT_H
This file defines the SmallString class.
This file defines the SmallVector class.
an instruction to allocate memory on the stack
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This is an optimization pass for GlobalISel generic memory operations.
SmallVector< uint8_t, 64 > GetShadowBytesAfterScope(const SmallVectorImpl< ASanStackVariableDescription > &Vars, const ASanStackFrameLayout &Layout)
SmallString< 64 > ComputeASanStackFrameDescription(const SmallVectorImpl< ASanStackVariableDescription > &Vars)
SmallVector< uint8_t, 64 > GetShadowBytes(const SmallVectorImpl< ASanStackVariableDescription > &Vars, const ASanStackFrameLayout &Layout)
static const int kAsanStackUseAfterScopeMagic
ASanStackFrameLayout ComputeASanStackFrameLayout(SmallVectorImpl< ASanStackVariableDescription > &Vars, uint64_t Granularity, uint64_t MinHeaderSize)
static const int kAsanStackLeftRedzoneMagic
static const int kAsanStackUseAfterReturnMagic
static const int kAsanStackRightRedzoneMagic
static const int kAsanStackMidRedzoneMagic