Lines Matching defs:VarArgAMD64Helper
4177 struct VarArgAMD64Helper : public VarArgHelper { struct
4180 static const unsigned AMD64GpEndOffset = 48; // AMD64 ABI Draft 0.99.6 p3.5.7
4181 static const unsigned AMD64FpEndOffsetSSE = 176;
4183 static const unsigned AMD64FpEndOffsetNoSSE = AMD64GpEndOffset;
4185 unsigned AMD64FpEndOffset;
4186 Function &F;
4187 MemorySanitizer &MS;
4188 MemorySanitizerVisitor &MSV;
4189 Value *VAArgTLSCopy = nullptr;
4190 Value *VAArgTLSOriginCopy = nullptr;
4191 Value *VAArgOverflowSize = nullptr;
4193 SmallVector<CallInst*, 16> VAStartInstrumentationList;
4195 enum ArgKind { AK_GeneralPurpose, AK_FloatingPoint, AK_Memory };
4197 VarArgAMD64Helper(Function &F, MemorySanitizer &MS, in VarArgAMD64Helper() function
4211 ArgKind classifyArgument(Value* arg) { in classifyArgument()
4231 void visitCallBase(CallBase &CB, IRBuilder<> &IRB) override { in visitCallBase()
4327 Value *getShadowPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, in getShadowPtrForVAArgument()
4339 Value *getOriginPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, int ArgOffset) { in getOriginPtrForVAArgument()
4349 void unpoisonVAListTagForInst(IntrinsicInst &I) { in unpoisonVAListTagForInst()
4366 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
4373 void visitVACopyInst(VACopyInst &I) override { in visitVACopyInst()
4378 void finalizeInstrumentation() override { in finalizeInstrumentation()