Lines Matching defs:FunctionStackPoisoner

912 struct FunctionStackPoisoner : public InstVisitor<FunctionStackPoisoner> {  struct
913 Function &F;
914 AddressSanitizer &ASan;
915 DIBuilder DIB;
916 LLVMContext *C;
917 Type *IntptrTy;
918 Type *IntptrPtrTy;
919 ShadowMapping Mapping;
921 SmallVector<AllocaInst *, 16> AllocaVec;
922 SmallVector<AllocaInst *, 16> StaticAllocasToMoveUp;
923 SmallVector<Instruction *, 8> RetVec;
925 FunctionCallee AsanStackMallocFunc[kMaxAsanStackMallocSizeClass + 1],
926 AsanStackFreeFunc[kMaxAsanStackMallocSizeClass + 1];
927 FunctionCallee AsanSetShadowFunc[0x100] = {};
928 FunctionCallee AsanPoisonStackMemoryFunc, AsanUnpoisonStackMemoryFunc;
929 FunctionCallee AsanAllocaPoisonFunc, AsanAllocasUnpoisonFunc;
932 struct AllocaPoisonCall {
938 SmallVector<AllocaPoisonCall, 8> DynamicAllocaPoisonCallVec;
939 SmallVector<AllocaPoisonCall, 8> StaticAllocaPoisonCallVec;
940 bool HasUntracedLifetimeIntrinsic = false;
942 SmallVector<AllocaInst *, 1> DynamicAllocaVec;
943 SmallVector<IntrinsicInst *, 1> StackRestoreVec;
944 AllocaInst *DynamicAllocaLayout = nullptr;
945 IntrinsicInst *LocalEscapeCall = nullptr;
947 bool HasInlineAsm = false;
948 bool HasReturnsTwiceCall = false;
949 bool PoisonStack;
951 FunctionStackPoisoner(Function &F, AddressSanitizer &ASan) in FunctionStackPoisoner() argument
958 bool runOnFunction() { in runOnFunction()
1005 void visitReturnInst(ReturnInst &RI) { in visitReturnInst()
1013 void visitResumeInst(ResumeInst &RI) { RetVec.push_back(&RI); } in visitResumeInst()
1016 void visitCleanupReturnInst(CleanupReturnInst &CRI) { RetVec.push_back(&CRI); } in visitCleanupReturnInst()
1018 void unpoisonDynamicAllocasBeforeInst(Instruction *InstBefore, in unpoisonDynamicAllocasBeforeInst()
1043 void unpoisonDynamicAllocas() { in unpoisonDynamicAllocas()
1065 void visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
1088 void visitIntrinsicInst(IntrinsicInst &II) { in visitIntrinsicInst()
1125 void visitCallBase(CallBase &CB) { in visitCallBase()