Lines Matching defs:VarArgAArch64Helper
3143 struct VarArgAArch64Helper : public VarArgHelper { struct
3144 static const unsigned kAArch64GrArgSize = 64;
3145 static const unsigned kAArch64VrArgSize = 128;
3147 static const unsigned AArch64GrBegOffset = 0;
3148 static const unsigned AArch64GrEndOffset = kAArch64GrArgSize;
3150 static const unsigned AArch64VrBegOffset = AArch64GrEndOffset;
3151 static const unsigned AArch64VrEndOffset = AArch64VrBegOffset
3153 static const unsigned AArch64VAEndOffset = AArch64VrEndOffset;
3155 Function &F;
3156 MemorySanitizer &MS;
3157 MemorySanitizerVisitor &MSV;
3158 Value *VAArgTLSCopy;
3159 Value *VAArgOverflowSize;
3161 SmallVector<CallInst*, 16> VAStartInstrumentationList;
3163 VarArgAArch64Helper(Function &F, MemorySanitizer &MS, in VarArgAArch64Helper() argument
3168 enum ArgKind { AK_GeneralPurpose, AK_FloatingPoint, AK_Memory };
3170 ArgKind classifyArgument(Value* arg) { in classifyArgument()
3189 void visitCallSite(CallSite &CS, IRBuilder<> &IRB) override { in visitCallSite()
3237 Value *getShadowPtrForVAArgument(Type *Ty, IRBuilder<> &IRB, in getShadowPtrForVAArgument()
3245 void visitVAStartInst(VAStartInst &I) override { in visitVAStartInst()
3256 void visitVACopyInst(VACopyInst &I) override { in visitVACopyInst()
3267 Value* getVAField64(IRBuilder<> &IRB, Value *VAListTag, int offset) { in getVAField64()
3277 Value* getVAField32(IRBuilder<> &IRB, Value *VAListTag, int offset) { in getVAField32()
3287 void finalizeInstrumentation() override { in finalizeInstrumentation()