Lines Matching defs:VarArgAArch64Helper
4566 struct VarArgAArch64Helper : public VarArgHelper { struct
4567 static const unsigned kAArch64GrArgSize = 64;
4568 static const unsigned kAArch64VrArgSize = 128;
4570 static const unsigned AArch64GrBegOffset = 0;
4571 static const unsigned AArch64GrEndOffset = kAArch64GrArgSize;
4573 static const unsigned AArch64VrBegOffset = AArch64GrEndOffset;
4574 static const unsigned AArch64VrEndOffset = AArch64VrBegOffset
4576 static const unsigned AArch64VAEndOffset = AArch64VrEndOffset;
4578 Function &F;
4579 MemorySanitizer &MS;
4580 MemorySanitizerVisitor &MSV;
4581 Value *VAArgTLSCopy = nullptr;
4582 Value *VAArgOverflowSize = nullptr;
4584 SmallVector<CallInst*, 16> VAStartInstrumentationList;
4586 enum ArgKind { AK_GeneralPurpose, AK_FloatingPoint, AK_Memory };
4588 VarArgAArch64Helper(Function &F, MemorySanitizer &MS, in VarArgAArch64Helper() function
4591 ArgKind classifyArgument(Value* arg) { in classifyArgument()
4610 void visitCallBase(CallBase &CB, IRBuilder<> &IRB) override { in visitCallBase()
4661 Value *getShadowPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, in getShadowPtrForVAArgument()
4672 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
4684 void visitVACopyInst(VACopyInst &I) override { in visitVACopyInst()
4697 Value* getVAField64(IRBuilder<> &IRB, Value *VAListTag, int offset) { in getVAField64()
4707 Value* getVAField32(IRBuilder<> &IRB, Value *VAListTag, int offset) { in getVAField32()
4717 void finalizeInstrumentation() override { in finalizeInstrumentation()