Lines Matching defs:VarArgSystemZHelper
5004 struct VarArgSystemZHelper : public VarArgHelper { struct
5005 static const unsigned SystemZGpOffset = 16;
5006 static const unsigned SystemZGpEndOffset = 56;
5007 static const unsigned SystemZFpOffset = 128;
5008 static const unsigned SystemZFpEndOffset = 160;
5009 static const unsigned SystemZMaxVrArgs = 8;
5010 static const unsigned SystemZRegSaveAreaSize = 160;
5011 static const unsigned SystemZOverflowOffset = 160;
5012 static const unsigned SystemZVAListTagSize = 32;
5013 static const unsigned SystemZOverflowArgAreaPtrOffset = 16;
5014 static const unsigned SystemZRegSaveAreaPtrOffset = 24;
5016 Function &F;
5017 MemorySanitizer &MS;
5018 MemorySanitizerVisitor &MSV;
5019 Value *VAArgTLSCopy = nullptr;
5020 Value *VAArgTLSOriginCopy = nullptr;
5021 Value *VAArgOverflowSize = nullptr;
5023 SmallVector<CallInst *, 16> VAStartInstrumentationList;
5025 enum class ArgKind {
5033 enum class ShadowExtension { None, Zero, Sign };
5035 VarArgSystemZHelper(Function &F, MemorySanitizer &MS, in VarArgSystemZHelper() argument
5039 ArgKind classifyArgument(Type *T, bool IsSoftFloatABI) { in classifyArgument()
5057 ShadowExtension getShadowExtension(const CallBase &CB, unsigned ArgNo) { in getShadowExtension()
5076 void visitCallBase(CallBase &CB, IRBuilder<> &IRB) override { in visitCallBase()
5203 Value *getShadowAddrForVAArgument(IRBuilder<> &IRB, unsigned ArgOffset) { in getShadowAddrForVAArgument()
5208 Value *getOriginPtrForVAArgument(IRBuilder<> &IRB, int ArgOffset) { in getOriginPtrForVAArgument()
5215 void unpoisonVAListTagForInst(IntrinsicInst &I) { in unpoisonVAListTagForInst()
5227 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
5232 void visitVACopyInst(VACopyInst &I) override { unpoisonVAListTagForInst(I); } in visitVACopyInst()
5234 void copyRegSaveArea(IRBuilder<> &IRB, Value *VAListTag) { in copyRegSaveArea()
5255 void copyOverflowArea(IRBuilder<> &IRB, Value *VAListTag) { in copyOverflowArea()
5281 void finalizeInstrumentation() override { in finalizeInstrumentation()