Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::memtag Namespace Reference

Classes

struct  AllocaInfo
struct  StackInfo
class  StackInfoBuilder

Enumerations

enum class  AllocaInterestingness { kUninteresting , kSafe , kInteresting }

Functions

bool forAllReachableExits (const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI, const Instruction *Start, const SmallVectorImpl< IntrinsicInst * > &Ends, const SmallVectorImpl< Instruction * > &RetVec, llvm::function_ref< void(Instruction *)> Callback)
bool isStandardLifetime (const SmallVectorImpl< IntrinsicInst * > &LifetimeStart, const SmallVectorImpl< IntrinsicInst * > &LifetimeEnd, const DominatorTree *DT, const LoopInfo *LI, size_t MaxLifetimes)
InstructiongetUntagLocationIfFunctionExit (Instruction &Inst)
uint64_t getAllocaSizeInBytes (const AllocaInst &AI)
void alignAndPadAlloca (memtag::AllocaInfo &Info, llvm::Align Align)
ValuereadRegister (IRBuilder<> &IRB, StringRef Name)
ValuegetFP (IRBuilder<> &IRB)
ValuegetPC (const Triple &TargetTriple, IRBuilder<> &IRB)
ValuegetAndroidSlotPtr (IRBuilder<> &IRB, int Slot)
void annotateDebugRecords (AllocaInfo &Info, unsigned int Tag)
ValueincrementThreadLong (IRBuilder<> &IRB, Value *ThreadLong, unsigned int Inc)
static DbgVariableRecordDynCastToDbgAssign (DbgVariableRecord *DVR)

Enumeration Type Documentation

◆ AllocaInterestingness

Enumerator
kUninteresting 
kSafe 
kInteresting 

Definition at line 64 of file MemoryTaggingSupport.h.

Function Documentation

◆ alignAndPadAlloca()

◆ annotateDebugRecords()

◆ DynCastToDbgAssign()

DbgVariableRecord * llvm::memtag::DynCastToDbgAssign ( DbgVariableRecord * DVR)
static

Definition at line 275 of file MemoryTaggingSupport.cpp.

References llvm::DbgVariableRecord::isDbgAssign().

Referenced by annotateDebugRecords().

◆ forAllReachableExits()

◆ getAllocaSizeInBytes()

◆ getAndroidSlotPtr()

◆ getFP()

◆ getPC()

◆ getUntagLocationIfFunctionExit()

Instruction * llvm::memtag::getUntagLocationIfFunctionExit ( Instruction & Inst)

◆ incrementThreadLong()

◆ isStandardLifetime()

bool llvm::memtag::isStandardLifetime ( const SmallVectorImpl< IntrinsicInst * > & LifetimeStart,
const SmallVectorImpl< IntrinsicInst * > & LifetimeEnd,
const DominatorTree * DT,
const LoopInfo * LI,
size_t MaxLifetimes )

◆ readRegister()