Lines Matching defs:HWAddressSanitizer

1 //===- HWAddressSanitizer.cpp - detector of uninitialized reads -------===//
10 /// This file is a part of HWAddressSanitizer, an address sanity checker
14 #include "llvm/Transforms/Instrumentation/HWAddressSanitizer.h"
188 class HWAddressSanitizer {
190 explicit HWAddressSanitizer(Module &M, bool CompileKernel = false,
305 StringRef getPassName() const override { return "HWAddressSanitizer"; }
308 HWASan = std::make_unique<HWAddressSanitizer>(M, CompileKernel, Recover);
322 std::unique_ptr<HWAddressSanitizer> HWASan;
333 "HWAddressSanitizer: detect memory bugs using tagged addressing.", false,
337 "HWAddressSanitizer: detect memory bugs using tagged addressing.", false,
351 HWAddressSanitizer HWASan(M, CompileKernel, Recover);
363 void HWAddressSanitizer::initializeModule() {
434 void HWAddressSanitizer::initializeCallbacks(Module &M) {
478 Value *HWAddressSanitizer::getDynamicShadowIfunc(IRBuilder<> &IRB) {
488 Value *HWAddressSanitizer::getDynamicShadowNonTls(IRBuilder<> &IRB) {
503 Value *HWAddressSanitizer::isInterestingMemoryAccess(Instruction *I,
580 void HWAddressSanitizer::untagPointerOperand(Instruction *I, Value *Addr) {
591 Value *HWAddressSanitizer::shadowBase() {
598 Value *HWAddressSanitizer::memToShadow(Value *Mem, IRBuilder<> &IRB) {
607 void HWAddressSanitizer::instrumentMemAccessInline(Value *Ptr, bool IsWrite,
698 void HWAddressSanitizer::instrumentMemIntrinsic(MemIntrinsic *MI) {
716 bool HWAddressSanitizer::instrumentMemAccess(Instruction *I) {
771 bool HWAddressSanitizer::tagAlloca(IRBuilder<> &IRB, AllocaInst *AI,
823 Value *HWAddressSanitizer::getNextTagWithCall(IRBuilder<> &IRB) {
827 Value *HWAddressSanitizer::getStackBaseTag(IRBuilder<> &IRB) {
851 Value *HWAddressSanitizer::getAllocaTag(IRBuilder<> &IRB, Value *StackTag,
859 Value *HWAddressSanitizer::getUARTag(IRBuilder<> &IRB, Value *StackTag) {
868 Value *HWAddressSanitizer::tagPointer(IRBuilder<> &IRB, Type *Ty,
886 Value *HWAddressSanitizer::untagPointer(IRBuilder<> &IRB, Value *PtrLong) {
900 Value *HWAddressSanitizer::getHwasanThreadSlotPtr(IRBuilder<> &IRB, Type *Ty) {
920 void HWAddressSanitizer::emitPrologue(IRBuilder<> &IRB, bool WithFrameRecord) {
996 Value *HWAddressSanitizer::readRegister(IRBuilder<> &IRB, StringRef Name) {
1005 bool HWAddressSanitizer::instrumentLandingPads(
1017 bool HWAddressSanitizer::instrumentStack(
1067 bool HWAddressSanitizer::isInterestingAlloca(const AllocaInst &AI) {
1083 bool HWAddressSanitizer::sanitizeFunction(Function &F) {
1228 void HWAddressSanitizer::instrumentGlobal(GlobalVariable *GV, uint8_t Tag) {
1304 void HWAddressSanitizer::instrumentGlobals() {
1416 void HWAddressSanitizer::instrumentPersonalityFunctions() {
1479 void HWAddressSanitizer::ShadowMapping::init(Triple &TargetTriple) {