Lines Matching defs:FunctionStackPoisoner

923 struct FunctionStackPoisoner : public InstVisitor<FunctionStackPoisoner> {  struct
924 Function &F;
925 AddressSanitizer &ASan;
926 DIBuilder DIB;
927 LLVMContext *C;
928 Type *IntptrTy;
929 Type *IntptrPtrTy;
930 ShadowMapping Mapping;
932 SmallVector<AllocaInst *, 16> AllocaVec;
933 SmallVector<AllocaInst *, 16> StaticAllocasToMoveUp;
934 SmallVector<Instruction *, 8> RetVec;
936 FunctionCallee AsanStackMallocFunc[kMaxAsanStackMallocSizeClass + 1],
937 AsanStackFreeFunc[kMaxAsanStackMallocSizeClass + 1];
938 FunctionCallee AsanSetShadowFunc[0x100] = {};
939 FunctionCallee AsanPoisonStackMemoryFunc, AsanUnpoisonStackMemoryFunc;
940 FunctionCallee AsanAllocaPoisonFunc, AsanAllocasUnpoisonFunc;
943 struct AllocaPoisonCall {
949 SmallVector<AllocaPoisonCall, 8> DynamicAllocaPoisonCallVec;
950 SmallVector<AllocaPoisonCall, 8> StaticAllocaPoisonCallVec;
951 bool HasUntracedLifetimeIntrinsic = false;
953 SmallVector<AllocaInst *, 1> DynamicAllocaVec;
954 SmallVector<IntrinsicInst *, 1> StackRestoreVec;
955 AllocaInst *DynamicAllocaLayout = nullptr;
956 IntrinsicInst *LocalEscapeCall = nullptr;
958 bool HasInlineAsm = false;
959 bool HasReturnsTwiceCall = false;
960 bool PoisonStack;
962 FunctionStackPoisoner(Function &F, AddressSanitizer &ASan) in FunctionStackPoisoner() argument
969 bool runOnFunction() { in runOnFunction()
1016 void visitReturnInst(ReturnInst &RI) { in visitReturnInst()
1024 void visitResumeInst(ResumeInst &RI) { RetVec.push_back(&RI); } in visitResumeInst()
1027 void visitCleanupReturnInst(CleanupReturnInst &CRI) { RetVec.push_back(&CRI); } in visitCleanupReturnInst()
1029 void unpoisonDynamicAllocasBeforeInst(Instruction *InstBefore, in unpoisonDynamicAllocasBeforeInst()
1054 void unpoisonDynamicAllocas() { in unpoisonDynamicAllocas()
1076 void visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
1097 void visitIntrinsicInst(IntrinsicInst &II) { in visitIntrinsicInst()
1134 void visitCallBase(CallBase &CB) { in visitCallBase()