Lines Matching defs:HWAddressSanitizer
1 //===- HWAddressSanitizer.cpp - memory access error detector --------------===//
10 /// This file is a part of HWAddressSanitizer, an address basic correctness
14 #include "llvm/Transforms/Instrumentation/HWAddressSanitizer.h"
290 class HWAddressSanitizer {
292 HWAddressSanitizer(Module &M, bool CompileKernel, bool Recover,
463 HWAddressSanitizer HWASan(M, Options.CompileKernel, Options.Recover, SSI);
493 void HWAddressSanitizer::createHwasanCtorComdat() {
593 void HWAddressSanitizer::initializeModule() {
670 void HWAddressSanitizer::initializeCallbacks(Module &M) {
741 Value *HWAddressSanitizer::getOpaqueNoopCast(IRBuilder<> &IRB, Value *Val) {
753 Value *HWAddressSanitizer::getDynamicShadowIfunc(IRBuilder<> &IRB) {
757 Value *HWAddressSanitizer::getShadowNonTls(IRBuilder<> &IRB) {
772 bool HWAddressSanitizer::ignoreAccessWithoutRemark(Instruction *Inst,
803 bool HWAddressSanitizer::ignoreAccess(OptimizationRemarkEmitter &ORE,
817 void HWAddressSanitizer::getInterestingMemoryOperands(
881 void HWAddressSanitizer::untagPointerOperand(Instruction *I, Value *Addr) {
893 Value *HWAddressSanitizer::memToShadow(Value *Mem, IRBuilder<> &IRB) {
902 int64_t HWAddressSanitizer::getAccessInfo(bool IsWrite,
912 HWAddressSanitizer::ShadowTagCheckInfo
913 HWAddressSanitizer::insertShadowTagCheck(Value *Ptr, Instruction *InsertBefore,
940 void HWAddressSanitizer::instrumentMemAccessOutline(Value *Ptr, bool IsWrite,
983 void HWAddressSanitizer::instrumentMemAccessInline(Value *Ptr, bool IsWrite,
1058 bool HWAddressSanitizer::ignoreMemIntrinsic(OptimizationRemarkEmitter &ORE,
1069 void HWAddressSanitizer::instrumentMemIntrinsic(MemIntrinsic *MI) {
1091 bool HWAddressSanitizer::instrumentMemAccess(InterestingMemoryOperand &O,
1134 void HWAddressSanitizer::tagAlloca(IRBuilder<> &IRB, AllocaInst *AI, Value *Tag,
1168 unsigned HWAddressSanitizer::retagMask(unsigned AllocaNo) {
1189 Value *HWAddressSanitizer::applyTagMask(IRBuilder<> &IRB, Value *OldTag) {
1196 Value *HWAddressSanitizer::getNextTagWithCall(IRBuilder<> &IRB) {
1200 Value *HWAddressSanitizer::getStackBaseTag(IRBuilder<> &IRB) {
1216 Value *HWAddressSanitizer::getAllocaTag(IRBuilder<> &IRB, Value *StackTag,
1224 Value *HWAddressSanitizer::getUARTag(IRBuilder<> &IRB) {
1234 Value *HWAddressSanitizer::tagPointer(IRBuilder<> &IRB, Type *Ty,
1253 Value *HWAddressSanitizer::untagPointer(IRBuilder<> &IRB, Value *PtrLong) {
1270 Value *HWAddressSanitizer::getHwasanThreadSlotPtr(IRBuilder<> &IRB) {
1279 Value *HWAddressSanitizer::getCachedFP(IRBuilder<> &IRB) {
1285 Value *HWAddressSanitizer::getFrameRecordInfo(IRBuilder<> &IRB) {
1303 void HWAddressSanitizer::emitPrologue(IRBuilder<> &IRB, bool WithFrameRecord) {
1401 bool HWAddressSanitizer::instrumentLandingPads(
1413 bool HWAddressSanitizer::instrumentStack(memtag::StackInfo &SInfo,
1529 bool HWAddressSanitizer::selectiveInstrumentationShouldSkip(
1552 void HWAddressSanitizer::sanitizeFunction(Function &F,
1671 void HWAddressSanitizer::instrumentGlobal(GlobalVariable *GV, uint8_t Tag) {
1748 void HWAddressSanitizer::instrumentGlobals() {
1789 void HWAddressSanitizer::instrumentPersonalityFunctions() {
1850 void HWAddressSanitizer::ShadowMapping::init(Triple &TargetTriple,