Lines Matching refs:MS

1040   MemorySanitizer &MS;  member
1068 MemorySanitizerVisitor(Function &F, MemorySanitizer &MS, in MemorySanitizerVisitor()
1070 : F(F), MS(MS), VAHelper(CreateVarArgHelper(F, MS, *this)), TLI(&TLI) { in MemorySanitizerVisitor()
1084 MS.initializeCallbacks(*F.getParent()); in MemorySanitizerVisitor()
1088 if (MS.CompileKernel) { in MemorySanitizerVisitor()
1104 if (MS.TrackOrigins <= 1) return V; in updateOrigin()
1105 return IRB.CreateCall(MS.MsanChainOriginFn, V); in updateOrigin()
1110 unsigned IntptrSize = DL.getTypeStoreSize(MS.IntptrTy); in originToIntptr()
1113 Origin = IRB.CreateIntCast(Origin, MS.IntptrTy, /* isSigned */ false); in originToIntptr()
1121 const Align IntptrAlignment = DL.getABITypeAlign(MS.IntptrTy); in paintOrigin()
1122 unsigned IntptrSize = DL.getTypeStoreSize(MS.IntptrTy); in paintOrigin()
1131 IRB.CreatePointerCast(OriginPtr, PointerType::get(MS.IntptrTy, 0)); in paintOrigin()
1133 Value *Ptr = i ? IRB.CreateConstGEP1_32(MS.IntptrTy, IntptrOriginPtr, i) in paintOrigin()
1143 i ? IRB.CreateConstGEP1_32(MS.OriginTy, OriginPtr, i) : OriginPtr; in paintOrigin()
1164 if (AsCall && SizeIndex < kNumberOfAccessSizes && !MS.CompileKernel) { in storeOrigin()
1165 FunctionCallee Fn = MS.MaybeStoreOriginFn[SizeIndex]; in storeOrigin()
1176 Cmp, &*IRB.GetInsertPoint(), false, MS.OriginStoreWeights); in storeOrigin()
1203 if (MS.TrackOrigins && !SI->isAtomic()) in materializeStores()
1214 IRB.CreateCall(MS.WarningFn, Origin)->setCannotMerge(); in insertWarningFn()
1238 if (AsCall && SizeIndex < kNumberOfAccessSizes && !MS.CompileKernel) { in materializeOneCheck()
1239 FunctionCallee Fn = MS.MaybeWarningFn[SizeIndex]; in materializeOneCheck()
1244 MS.TrackOrigins && Origin ? Origin : (Value *)IRB.getInt32(0)}); in materializeOneCheck()
1251 /* Unreachable */ !MS.Recover, MS.ColdCallWeights); in materializeOneCheck()
1271 Value *ContextState = IRB.CreateCall(MS.MsanGetContextStateFn, {}); in insertKmsanPrologue()
1273 MS.ParamTLS = IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1275 MS.RetvalTLS = IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1277 MS.VAArgTLS = IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1279 MS.VAArgOriginTLS = IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1281 MS.VAArgOverflowSizeTLS = in insertKmsanPrologue()
1282 IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1284 MS.ParamOriginTLS = IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1286 MS.RetvalOriginTLS = in insertKmsanPrologue()
1287 IRB.CreateGEP(MS.MsanContextStateTy, ContextState, in insertKmsanPrologue()
1302 PHINode *PNO = MS.TrackOrigins ? cast<PHINode>(getOrigin(PN)) : nullptr; in runOnFunction()
1356 return FixedVectorType::get(IntegerType::get(*MS.C, EltSize), in getShadowTy()
1367 StructType *Res = StructType::get(*MS.C, Elements, ST->isPacked()); in getShadowTy()
1372 return IntegerType::get(*MS.C, TypeSize); in getShadowTy()
1378 return IntegerType::get(*MS.C, in getShadowTyNoVec()
1450 Value *OffsetLong = IRB.CreatePointerCast(Addr, MS.IntptrTy); in getShadowPtrOffset()
1452 uint64_t AndMask = MS.MapParams->AndMask; in getShadowPtrOffset()
1455 IRB.CreateAnd(OffsetLong, ConstantInt::get(MS.IntptrTy, ~AndMask)); in getShadowPtrOffset()
1457 uint64_t XorMask = MS.MapParams->XorMask; in getShadowPtrOffset()
1460 IRB.CreateXor(OffsetLong, ConstantInt::get(MS.IntptrTy, XorMask)); in getShadowPtrOffset()
1474 uint64_t ShadowBase = MS.MapParams->ShadowBase; in getShadowOriginPtrUserspace()
1478 ConstantInt::get(MS.IntptrTy, ShadowBase)); in getShadowOriginPtrUserspace()
1483 if (MS.TrackOrigins) { in getShadowOriginPtrUserspace()
1485 uint64_t OriginBase = MS.MapParams->OriginBase; in getShadowOriginPtrUserspace()
1488 ConstantInt::get(MS.IntptrTy, OriginBase)); in getShadowOriginPtrUserspace()
1492 IRB.CreateAnd(OriginLong, ConstantInt::get(MS.IntptrTy, ~Mask)); in getShadowOriginPtrUserspace()
1495 IRB.CreateIntToPtr(OriginLong, PointerType::get(MS.OriginTy, 0)); in getShadowOriginPtrUserspace()
1508 FunctionCallee Getter = MS.getKmsanShadowOriginAccessFn(isStore, Size); in getShadowOriginPtrKernel()
1514 Value *SizeVal = ConstantInt::get(MS.IntptrTy, Size); in getShadowOriginPtrKernel()
1515 ShadowOriginPtrs = IRB.CreateCall(isStore ? MS.MsanMetadataPtrForStoreN in getShadowOriginPtrKernel()
1516 : MS.MsanMetadataPtrForLoadN, in getShadowOriginPtrKernel()
1530 if (MS.CompileKernel) in getShadowOriginPtr()
1540 Value *Base = IRB.CreatePointerCast(MS.ParamTLS, MS.IntptrTy); in getShadowPtrForArgument()
1542 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowPtrForArgument()
1550 if (!MS.TrackOrigins) in getOriginPtrForArgument()
1552 Value *Base = IRB.CreatePointerCast(MS.ParamOriginTLS, MS.IntptrTy); in getOriginPtrForArgument()
1554 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getOriginPtrForArgument()
1555 return IRB.CreateIntToPtr(Base, PointerType::get(MS.OriginTy, 0), in getOriginPtrForArgument()
1561 return IRB.CreatePointerCast(MS.RetvalTLS, in getShadowPtrForRetval()
1569 return MS.RetvalOriginTLS; in getOriginPtrForRetval()
1580 if (!MS.TrackOrigins) return; in setOrigin()
1630 return Constant::getNullValue(MS.OriginTy); in getCleanOrigin()
1701 if (MS.TrackOrigins) { in getShadow()
1717 (MS.EagerChecks && FArg.hasAttribute(Attribute::NoUndef))) { in getShadow()
1725 if (MS.TrackOrigins) { in getShadow()
1728 setOrigin(A, EntryIRB.CreateLoad(MS.OriginTy, OriginPtr)); in getShadow()
1752 if (!MS.TrackOrigins) return nullptr; in getOrigin()
1916 if (MS.TrackOrigins) { in visitLoadInst()
1920 &I, IRB.CreateAlignedLoad(MS.OriginTy, OriginPtr, OriginAlignment)); in visitLoadInst()
2135 if (MSV->MS.TrackOrigins) { in Add()
2156 Value *OpOrigin = MSV->MS.TrackOrigins ? MSV->getOrigin(V) : nullptr; in Add()
2168 if (MSV->MS.TrackOrigins) { in Done()
2180 if (!MS.TrackOrigins) return; in setOriginForNaryOp()
2212 Value *V1 = IRB.CreateBitCast(V, Type::getIntNTy(*MS.C, srcSizeInBits)); in CreateShadowCast()
2214 IRB.CreateIntCast(V1, Type::getIntNTy(*MS.C, dstSizeInBits), Signed); in CreateShadowCast()
2541 MS.MemmoveFn, in visitMemMoveInst()
2544 IRB.CreateIntCast(I.getArgOperand(2), MS.IntptrTy, false)}); in visitMemMoveInst()
2556 MS.MemcpyFn, in visitMemCpyInst()
2559 IRB.CreateIntCast(I.getArgOperand(2), MS.IntptrTy, false)}); in visitMemCpyInst()
2567 MS.MemsetFn, in visitMemSetInst()
2570 IRB.CreateIntCast(I.getArgOperand(2), MS.IntptrTy, false)}); in visitMemSetInst()
2602 if (MS.TrackOrigins) IRB.CreateStore(getOrigin(&I, 1), OriginPtr); in handleVectorStoreIntrinsic()
2631 if (MS.TrackOrigins) { in handleVectorLoadIntrinsic()
2633 setOrigin(&I, IRB.CreateLoad(MS.OriginTy, OriginPtr)); in handleVectorLoadIntrinsic()
2868 return FixedVectorType::get(IntegerType::get(*MS.C, EltSizeInBits), in getMMXVectorTy()
2931 Type *X86_MMXTy = Type::getX86_MMXTy(*MS.C); in handleVectorPackIntrinsic()
2950 Type *ResTy = isX86_MMX ? IntegerType::get(*MS.C, 64) : I.getType(); in handleVectorSadIntrinsic()
3077 Value *Origin = MS.TrackOrigins ? IRB.CreateLoad(MS.OriginTy, OriginPtr) in handleLdmxcsr()
3105 if (MS.TrackOrigins) { in handleMaskedStore()
3137 if (MS.TrackOrigins) { in handleMaskedLoad()
3155 getOrigin(PassThru), IRB.CreateLoad(MS.OriginTy, OriginPtr)); in handleMaskedLoad()
3580 if (MS.TrackOrigins) { in visitLibAtomicLoad()
3581 Value *SrcOrigin = NextIRB.CreateAlignedLoad(MS.OriginTy, SrcOriginPtr, in visitLibAtomicLoad()
3584 NextIRB.CreateCall(MS.MsanSetOriginFn, {DstPtr, Size, NewOrigin}); in visitLibAtomicLoad()
3616 if (ClHandleAsmConservative && MS.CompileKernel) in visitCallBase()
3666 bool MayCheckCall = MS.EagerChecks; in visitCallBase()
3725 if (MS.TrackOrigins) { in visitCallBase()
3746 if (MS.TrackOrigins && !(Cst && Cst->isNullValue())) { in visitCallBase()
3808 if (MS.TrackOrigins) in visitCallBase()
3809 setOrigin(&CB, IRBAfter.CreateLoad(MS.OriginTy, in visitCallBase()
3832 bool StoreShadow = !(MS.EagerChecks && HasNoUndef); in visitReturnInst()
3835 bool EagerCheck = (MS.EagerChecks && HasNoUndef) || (F.getName() == "main"); in visitReturnInst()
3849 if (MS.TrackOrigins && StoreOrigin) in visitReturnInst()
3865 if (MS.TrackOrigins) in visitPHINode()
3866 setOrigin(&I, IRB.CreatePHI(MS.OriginTy, I.getNumIncomingValues(), in visitPHINode()
3885 IRB.CreateCall(MS.MsanPoisonStackFn, in poisonAllocaUserspace()
3896 if (PoisonStack && MS.TrackOrigins) { in poisonAllocaUserspace()
3898 IRB.CreateCall(MS.MsanSetAllocaOrigin4Fn, in poisonAllocaUserspace()
3901 IRB.CreatePointerCast(&F, MS.IntptrTy)}); in poisonAllocaUserspace()
3908 IRB.CreateCall(MS.MsanPoisonAllocaFn, in poisonAllocaKmsan()
3912 IRB.CreateCall(MS.MsanUnpoisonAllocaFn, in poisonAllocaKmsan()
3923 Value *Len = ConstantInt::get(MS.IntptrTy, TypeSize); in instrumentAlloca()
3927 if (MS.CompileKernel) in instrumentAlloca()
3974 if (MS.TrackOrigins) { in visitSelectInst()
4081 Value *SizeVal = ConstantInt::get(MS.IntptrTy, Size); in instrumentAsmArgument()
4082 IRB.CreateCall(MS.MsanInstrumentAsmStoreFn, {Ptr, SizeVal}); in instrumentAsmArgument()
4187 MemorySanitizer &MS; member
4197 VarArgAMD64Helper(Function &F, MemorySanitizer &MS, in VarArgAMD64Helper()
4199 : F(F), MS(MS), MSV(MSV) { in VarArgAMD64Helper()
4254 if (MS.TrackOrigins) in visitCallBase()
4266 if (MS.TrackOrigins) in visitCallBase()
4280 if (MS.TrackOrigins) in visitCallBase()
4288 if (MS.TrackOrigins) in visitCallBase()
4299 if (MS.TrackOrigins) in visitCallBase()
4313 if (MS.TrackOrigins) { in visitCallBase()
4323 IRB.CreateStore(OverflowSize, MS.VAArgOverflowSizeTLS); in visitCallBase()
4332 Value *Base = IRB.CreatePointerCast(MS.VAArgTLS, MS.IntptrTy); in getShadowPtrForVAArgument()
4333 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowPtrForVAArgument()
4340 Value *Base = IRB.CreatePointerCast(MS.VAArgOriginTLS, MS.IntptrTy); in getOriginPtrForVAArgument()
4344 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getOriginPtrForVAArgument()
4345 return IRB.CreateIntToPtr(Base, PointerType::get(MS.OriginTy, 0), in getOriginPtrForVAArgument()
4386 IRB.CreateLoad(IRB.getInt64Ty(), MS.VAArgOverflowSizeTLS); in finalizeInstrumentation()
4388 IRB.CreateAdd(ConstantInt::get(MS.IntptrTy, AMD64FpEndOffset), in finalizeInstrumentation()
4390 VAArgTLSCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
4391 IRB.CreateMemCpy(VAArgTLSCopy, Align(8), MS.VAArgTLS, Align(8), CopySize); in finalizeInstrumentation()
4392 if (MS.TrackOrigins) { in finalizeInstrumentation()
4393 VAArgTLSOriginCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
4394 IRB.CreateMemCpy(VAArgTLSOriginCopy, Align(8), MS.VAArgOriginTLS, in finalizeInstrumentation()
4406 Type *RegSaveAreaPtrTy = Type::getInt64PtrTy(*MS.C); in finalizeInstrumentation()
4408 IRB.CreateAdd(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in finalizeInstrumentation()
4409 ConstantInt::get(MS.IntptrTy, 16)), in finalizeInstrumentation()
4420 if (MS.TrackOrigins) in finalizeInstrumentation()
4423 Type *OverflowArgAreaPtrTy = Type::getInt64PtrTy(*MS.C); in finalizeInstrumentation()
4425 IRB.CreateAdd(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in finalizeInstrumentation()
4426 ConstantInt::get(MS.IntptrTy, 8)), in finalizeInstrumentation()
4438 if (MS.TrackOrigins) { in finalizeInstrumentation()
4451 MemorySanitizer &MS; member
4458 VarArgMIPS64Helper(Function &F, MemorySanitizer &MS, in VarArgMIPS64Helper()
4459 MemorySanitizerVisitor &MSV) : F(F), MS(MS), MSV(MSV) {} in VarArgMIPS64Helper()
4488 IRB.CreateStore(TotalVAArgSize, MS.VAArgOverflowSizeTLS); in visitCallBase()
4497 Value *Base = IRB.CreatePointerCast(MS.VAArgTLS, MS.IntptrTy); in getShadowPtrForVAArgument()
4498 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowPtrForVAArgument()
4531 VAArgSize = IRB.CreateLoad(IRB.getInt64Ty(), MS.VAArgOverflowSizeTLS); in finalizeInstrumentation()
4532 Value *CopySize = IRB.CreateAdd(ConstantInt::get(MS.IntptrTy, 0), in finalizeInstrumentation()
4538 VAArgTLSCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
4539 IRB.CreateMemCpy(VAArgTLSCopy, Align(8), MS.VAArgTLS, Align(8), CopySize); in finalizeInstrumentation()
4548 Type *RegSaveAreaPtrTy = Type::getInt64PtrTy(*MS.C); in finalizeInstrumentation()
4550 IRB.CreateIntToPtr(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in finalizeInstrumentation()
4579 MemorySanitizer &MS; member
4588 VarArgAArch64Helper(Function &F, MemorySanitizer &MS, in VarArgAArch64Helper()
4589 MemorySanitizerVisitor &MSV) : F(F), MS(MS), MSV(MSV) {} in VarArgAArch64Helper()
4657 IRB.CreateStore(OverflowSize, MS.VAArgOverflowSizeTLS); in visitCallBase()
4666 Value *Base = IRB.CreatePointerCast(MS.VAArgTLS, MS.IntptrTy); in getShadowPtrForVAArgument()
4667 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowPtrForVAArgument()
4700 IRB.CreateAdd(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in getVAField64()
4701 ConstantInt::get(MS.IntptrTy, offset)), in getVAField64()
4702 Type::getInt64PtrTy(*MS.C)); in getVAField64()
4703 return IRB.CreateLoad(Type::getInt64Ty(*MS.C), SaveAreaPtrPtr); in getVAField64()
4710 IRB.CreateAdd(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in getVAField32()
4711 ConstantInt::get(MS.IntptrTy, offset)), in getVAField32()
4712 Type::getInt32PtrTy(*MS.C)); in getVAField32()
4714 return IRB.CreateSExt(SaveArea32, MS.IntptrTy); in getVAField32()
4725 IRB.CreateLoad(IRB.getInt64Ty(), MS.VAArgOverflowSizeTLS); in finalizeInstrumentation()
4727 IRB.CreateAdd(ConstantInt::get(MS.IntptrTy, AArch64VAEndOffset), in finalizeInstrumentation()
4729 VAArgTLSCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
4730 IRB.CreateMemCpy(VAArgTLSCopy, Align(8), MS.VAArgTLS, Align(8), CopySize); in finalizeInstrumentation()
4733 Value *GrArgSize = ConstantInt::get(MS.IntptrTy, kAArch64GrArgSize); in finalizeInstrumentation()
4734 Value *VrArgSize = ConstantInt::get(MS.IntptrTy, kAArch64VrArgSize); in finalizeInstrumentation()
4829 MemorySanitizer &MS; member
4836 VarArgPowerPC64Helper(Function &F, MemorySanitizer &MS, in VarArgPowerPC64Helper()
4837 MemorySanitizerVisitor &MSV) : F(F), MS(MS), MSV(MSV) {} in VarArgPowerPC64Helper()
4925 IRB.CreateStore(TotalVAArgSize, MS.VAArgOverflowSizeTLS); in visitCallBase()
4934 Value *Base = IRB.CreatePointerCast(MS.VAArgTLS, MS.IntptrTy); in getShadowPtrForVAArgument()
4935 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowPtrForVAArgument()
4969 VAArgSize = IRB.CreateLoad(IRB.getInt64Ty(), MS.VAArgOverflowSizeTLS); in finalizeInstrumentation()
4970 Value *CopySize = IRB.CreateAdd(ConstantInt::get(MS.IntptrTy, 0), in finalizeInstrumentation()
4976 VAArgTLSCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
4977 IRB.CreateMemCpy(VAArgTLSCopy, Align(8), MS.VAArgTLS, Align(8), CopySize); in finalizeInstrumentation()
4986 Type *RegSaveAreaPtrTy = Type::getInt64PtrTy(*MS.C); in finalizeInstrumentation()
4988 IRB.CreateIntToPtr(IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in finalizeInstrumentation()
5017 MemorySanitizer &MS; member
5035 VarArgSystemZHelper(Function &F, MemorySanitizer &MS, in VarArgSystemZHelper()
5037 : F(F), MS(MS), MSV(MSV) {} in VarArgSystemZHelper()
5121 if (MS.TrackOrigins) in visitCallBase()
5140 if (MS.TrackOrigins) in visitCallBase()
5169 if (MS.TrackOrigins) in visitCallBase()
5191 if (MS.TrackOrigins) { in visitCallBase()
5200 IRB.CreateStore(OverflowSize, MS.VAArgOverflowSizeTLS); in visitCallBase()
5204 Value *Base = IRB.CreatePointerCast(MS.VAArgTLS, MS.IntptrTy); in getShadowAddrForVAArgument()
5205 return IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getShadowAddrForVAArgument()
5209 Value *Base = IRB.CreatePointerCast(MS.VAArgOriginTLS, MS.IntptrTy); in getOriginPtrForVAArgument()
5210 Base = IRB.CreateAdd(Base, ConstantInt::get(MS.IntptrTy, ArgOffset)); in getOriginPtrForVAArgument()
5211 return IRB.CreateIntToPtr(Base, PointerType::get(MS.OriginTy, 0), in getOriginPtrForVAArgument()
5235 Type *RegSaveAreaPtrTy = Type::getInt64PtrTy(*MS.C); in copyRegSaveArea()
5238 IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in copyRegSaveArea()
5239 ConstantInt::get(MS.IntptrTy, SystemZRegSaveAreaPtrOffset)), in copyRegSaveArea()
5250 if (MS.TrackOrigins) in copyRegSaveArea()
5256 Type *OverflowArgAreaPtrTy = Type::getInt64PtrTy(*MS.C); in copyOverflowArea()
5259 IRB.CreatePtrToInt(VAListTag, MS.IntptrTy), in copyOverflowArea()
5260 ConstantInt::get(MS.IntptrTy, SystemZOverflowArgAreaPtrOffset)), in copyOverflowArea()
5273 if (MS.TrackOrigins) { in copyOverflowArea()
5289 IRB.CreateLoad(IRB.getInt64Ty(), MS.VAArgOverflowSizeTLS); in finalizeInstrumentation()
5291 IRB.CreateAdd(ConstantInt::get(MS.IntptrTy, SystemZOverflowOffset), in finalizeInstrumentation()
5293 VAArgTLSCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
5294 IRB.CreateMemCpy(VAArgTLSCopy, Align(8), MS.VAArgTLS, Align(8), CopySize); in finalizeInstrumentation()
5295 if (MS.TrackOrigins) { in finalizeInstrumentation()
5296 VAArgTLSOriginCopy = IRB.CreateAlloca(Type::getInt8Ty(*MS.C), CopySize); in finalizeInstrumentation()
5297 IRB.CreateMemCpy(VAArgTLSOriginCopy, Align(8), MS.VAArgOriginTLS, in finalizeInstrumentation()
5317 VarArgNoOpHelper(Function &F, MemorySanitizer &MS, in VarArgNoOpHelper()