LLVM 22.0.0git
MemoryTaggingSupport.h File Reference

Go to the source code of this file.

Classes

struct  llvm::memtag::AllocaInfo
struct  llvm::memtag::StackInfo
class  llvm::memtag::StackInfoBuilder

Namespaces

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

Enumerations

enum class  llvm::memtag::AllocaInterestingness { llvm::memtag::kUninteresting , llvm::memtag::kSafe , llvm::memtag::kInteresting }

Functions

bool llvm::memtag::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 llvm::memtag::isStandardLifetime (const SmallVectorImpl< IntrinsicInst * > &LifetimeStart, const SmallVectorImpl< IntrinsicInst * > &LifetimeEnd, const DominatorTree *DT, const LoopInfo *LI, size_t MaxLifetimes)
Instructionllvm::memtag::getUntagLocationIfFunctionExit (Instruction &Inst)
uint64_t llvm::memtag::getAllocaSizeInBytes (const AllocaInst &AI)
void llvm::memtag::alignAndPadAlloca (memtag::AllocaInfo &Info, llvm::Align Align)
Valuellvm::memtag::readRegister (IRBuilder<> &IRB, StringRef Name)
Valuellvm::memtag::getFP (IRBuilder<> &IRB)
Valuellvm::memtag::getPC (const Triple &TargetTriple, IRBuilder<> &IRB)
Valuellvm::memtag::getAndroidSlotPtr (IRBuilder<> &IRB, int Slot)
void llvm::memtag::annotateDebugRecords (AllocaInfo &Info, unsigned int Tag)
Valuellvm::memtag::incrementThreadLong (IRBuilder<> &IRB, Value *ThreadLong, unsigned int Inc)