Lines Matching defs:VarArgAMD64Helper
4155 struct VarArgAMD64Helper : public VarArgHelper { struct
4158 static const unsigned AMD64GpEndOffset = 48; // AMD64 ABI Draft 0.99.6 p3.5.7
4159 static const unsigned AMD64FpEndOffsetSSE = 176;
4161 static const unsigned AMD64FpEndOffsetNoSSE = AMD64GpEndOffset;
4163 unsigned AMD64FpEndOffset;
4164 Function &F;
4165 MemorySanitizer &MS;
4166 MemorySanitizerVisitor &MSV;
4167 Value *VAArgTLSCopy = nullptr;
4168 Value *VAArgTLSOriginCopy = nullptr;
4169 Value *VAArgOverflowSize = nullptr;
4171 SmallVector<CallInst*, 16> VAStartInstrumentationList;
4173 enum ArgKind { AK_GeneralPurpose, AK_FloatingPoint, AK_Memory };
4175 VarArgAMD64Helper(Function &F, MemorySanitizer &MS, in VarArgAMD64Helper() argument
4189 ArgKind classifyArgument(Value* arg) { in classifyArgument()
4209 void visitCallBase(CallBase &CB, IRBuilder<> &IRB) override { in visitCallBase()
4305 Value *getShadowPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, in getShadowPtrForVAArgument()
4317 Value *getOriginPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, int ArgOffset) { in getOriginPtrForVAArgument()
4327 void unpoisonVAListTagForInst(IntrinsicInst &I) { in unpoisonVAListTagForInst()
4344 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
4351 void visitVACopyInst(VACopyInst &I) override { in visitVACopyInst()
4356 void finalizeInstrumentation() override { in finalizeInstrumentation()