Lines Matching defs:FunctionStackPoisoner

870 struct FunctionStackPoisoner : public InstVisitor<FunctionStackPoisoner> {  struct
871 Function &F;
872 AddressSanitizer &ASan;
873 DIBuilder DIB;
874 LLVMContext *C;
875 Type *IntptrTy;
876 Type *IntptrPtrTy;
877 ShadowMapping Mapping;
879 SmallVector<AllocaInst *, 16> AllocaVec;
880 SmallVector<AllocaInst *, 16> StaticAllocasToMoveUp;
881 SmallVector<Instruction *, 8> RetVec;
883 FunctionCallee AsanStackMallocFunc[kMaxAsanStackMallocSizeClass + 1],
884 AsanStackFreeFunc[kMaxAsanStackMallocSizeClass + 1];
885 FunctionCallee AsanSetShadowFunc[0x100] = {};
886 FunctionCallee AsanPoisonStackMemoryFunc, AsanUnpoisonStackMemoryFunc;
887 FunctionCallee AsanAllocaPoisonFunc, AsanAllocasUnpoisonFunc;
890 struct AllocaPoisonCall {
896 SmallVector<AllocaPoisonCall, 8> DynamicAllocaPoisonCallVec;
897 SmallVector<AllocaPoisonCall, 8> StaticAllocaPoisonCallVec;
898 bool HasUntracedLifetimeIntrinsic = false;
900 SmallVector<AllocaInst *, 1> DynamicAllocaVec;
901 SmallVector<IntrinsicInst *, 1> StackRestoreVec;
902 AllocaInst *DynamicAllocaLayout = nullptr;
903 IntrinsicInst *LocalEscapeCall = nullptr;
905 bool HasInlineAsm = false;
906 bool HasReturnsTwiceCall = false;
907 bool PoisonStack;
909 FunctionStackPoisoner(Function &F, AddressSanitizer &ASan) in FunctionStackPoisoner() argument
916 bool runOnFunction() { in runOnFunction()
963 void visitReturnInst(ReturnInst &RI) { in visitReturnInst()
971 void visitResumeInst(ResumeInst &RI) { RetVec.push_back(&RI); } in visitResumeInst()
974 void visitCleanupReturnInst(CleanupReturnInst &CRI) { RetVec.push_back(&CRI); } in visitCleanupReturnInst()
976 void unpoisonDynamicAllocasBeforeInst(Instruction *InstBefore, in unpoisonDynamicAllocasBeforeInst()
1001 void unpoisonDynamicAllocas() { in unpoisonDynamicAllocas()
1023 void visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
1044 void visitIntrinsicInst(IntrinsicInst &II) { in visitIntrinsicInst()
1081 void visitCallBase(CallBase &CB) { in visitCallBase()