Lines Matching defs:FunctionStackPoisoner
456 struct FunctionStackPoisoner : public InstVisitor<FunctionStackPoisoner> { struct
457 Function &F;
458 AddressSanitizer &ASan;
459 DIBuilder DIB;
460 LLVMContext *C;
461 Type *IntptrTy;
462 Type *IntptrPtrTy;
463 ShadowMapping Mapping;
465 SmallVector<AllocaInst*, 16> AllocaVec;
466 SmallVector<Instruction*, 8> RetVec;
467 unsigned StackAlignment;
469 Function *AsanStackMallocFunc[kMaxAsanStackMallocSizeClass + 1],
470 *AsanStackFreeFunc[kMaxAsanStackMallocSizeClass + 1];
471 Function *AsanPoisonStackMemoryFunc, *AsanUnpoisonStackMemoryFunc;
474 struct AllocaPoisonCall {
480 SmallVector<AllocaPoisonCall, 8> AllocaPoisonCallVec;
483 typedef DenseMap<Value*, AllocaInst*> AllocaForValueMapTy;
484 AllocaForValueMapTy AllocaForValue;
486 FunctionStackPoisoner(Function &F, AddressSanitizer &ASan) in FunctionStackPoisoner() function
492 bool runOnFunction() { in runOnFunction()
517 void visitReturnInst(ReturnInst &RI) { in visitReturnInst()
522 void visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
531 void visitIntrinsicInst(IntrinsicInst &II) { in visitIntrinsicInst()
559 bool isInterestingAlloca(AllocaInst &AI) const { in isInterestingAlloca()
566 uint64_t getAllocaSizeInBytes(AllocaInst *AI) const { in getAllocaSizeInBytes()