Lines Matching defs:VarArgSystemZHelper
4982 struct VarArgSystemZHelper : public VarArgHelper { struct
4983 static const unsigned SystemZGpOffset = 16;
4984 static const unsigned SystemZGpEndOffset = 56;
4985 static const unsigned SystemZFpOffset = 128;
4986 static const unsigned SystemZFpEndOffset = 160;
4987 static const unsigned SystemZMaxVrArgs = 8;
4988 static const unsigned SystemZRegSaveAreaSize = 160;
4989 static const unsigned SystemZOverflowOffset = 160;
4990 static const unsigned SystemZVAListTagSize = 32;
4991 static const unsigned SystemZOverflowArgAreaPtrOffset = 16;
4992 static const unsigned SystemZRegSaveAreaPtrOffset = 24;
4994 Function &F;
4995 MemorySanitizer &MS;
4996 MemorySanitizerVisitor &MSV;
4997 Value *VAArgTLSCopy = nullptr;
4998 Value *VAArgTLSOriginCopy = nullptr;
4999 Value *VAArgOverflowSize = nullptr;
5001 SmallVector<CallInst *, 16> VAStartInstrumentationList;
5003 enum class ArgKind {
5011 enum class ShadowExtension { None, Zero, Sign };
5013 VarArgSystemZHelper(Function &F, MemorySanitizer &MS, in VarArgSystemZHelper() argument
5017 ArgKind classifyArgument(Type *T, bool IsSoftFloatABI) { in classifyArgument()
5035 ShadowExtension getShadowExtension(const CallBase &CB, unsigned ArgNo) { in getShadowExtension()
5054 void visitCallBase(CallBase &CB, IRBuilder<> &IRB) override { in visitCallBase()
5181 Value *getShadowAddrForVAArgument(IRBuilder<> &IRB, unsigned ArgOffset) { in getShadowAddrForVAArgument()
5186 Value *getOriginPtrForVAArgument(IRBuilder<> &IRB, int ArgOffset) { in getOriginPtrForVAArgument()
5193 void unpoisonVAListTagForInst(IntrinsicInst &I) { in unpoisonVAListTagForInst()
5205 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
5210 void visitVACopyInst(VACopyInst &I) override { unpoisonVAListTagForInst(I); } in visitVACopyInst()
5212 void copyRegSaveArea(IRBuilder<> &IRB, Value *VAListTag) { in copyRegSaveArea()
5233 void copyOverflowArea(IRBuilder<> &IRB, Value *VAListTag) { in copyOverflowArea()
5259 void finalizeInstrumentation() override { in finalizeInstrumentation()