Lines Matching defs:VT
227 static Type *typeFromFTValueType(FTValueType VT, LLVMContext &Context) {
228 switch (VT) {
242 static const char *typeNameFromFTValueType(FTValueType VT) {
243 switch (VT) {
264 for (int VT = 0; VT < kNumValueTypes; ++VT) {
265 auto Config = ShadowTypeConfig::fromNsanTypeId(ClShadowMapping[VT]);
268 Twine(ClShadowMapping[VT]));
270 typeFromFTValueType(static_cast<FTValueType>(VT), Context)
282 ShadowTypeSizeBits[VT] = ShadowTypeSize;
283 Configs[VT] = std::move(Config);
301 const ShadowTypeConfig &byValueType(FTValueType VT) const {
302 assert(VT < FTValueType::kNumValueTypes && "invalid value type");
303 return *Configs[VT];
308 if (const auto VT = ftValueTypeFromType(FT))
309 return Configs[*VT]->getType(Context);
336 if (const auto VT = ftValueTypeFromType(FT))
337 return {*VT, 1};
580 Value *handleLoad(LoadInst &Load, Type *VT, Type *ExtendedVT);
581 Value *handleCallBase(CallBase &Call, Type *VT, Type *ExtendedVT,
584 Value *maybeHandleKnownCallBase(CallBase &Call, Type *VT, Type *ExtendedVT,
588 Value *handleTrunc(const FPTruncInst &Trunc, Type *VT, Type *ExtendedVT,
590 Value *handleExt(const FPExtInst &Ext, Type *VT, Type *ExtendedVT,
594 void propagateFTStore(StoreInst &Store, Type *VT, Type *ExtendedVT,
596 void propagateNonFTStore(StoreInst &Store, Type *VT,
673 const FTValueType VT = static_cast<FTValueType>(I);
674 const char *VTName = typeNameFromFTValueType(VT);
675 Type *VTTy = typeFromFTValueType(VT, Context);
680 NsanGetShadowPtrForStore[VT] = M.getOrInsertFunction(
682 NsanGetShadowPtrForLoad[VT] = M.getOrInsertFunction(
686 const auto &ShadowConfig = Config.byValueType(VT);
688 NsanCheckValue[VT] =
692 NsanFCmpFail[VT] = M.getOrInsertFunction(
772 Type *VT = Arg.getType();
773 Type *ExtendedVT = Config.getExtendedFPType(VT);
871 Type *VT = Arg->getType();
872 Type *ExtendedVT = Config.getExtendedFPType(VT);
904 if (const auto VT = ftValueTypeFromType(Ty))
906 NsanCheckValue[*VT],
1105 Type *VT = Phi.getType();
1106 Type *ExtendedVT = Config.getExtendedFPType(VT);
1117 Value *NumericalStabilitySanitizer::handleLoad(LoadInst &Load, Type *VT,
1141 const auto Extents = getMemoryExtentsOrDie(VT);
1193 Type *VT, Type *ExtendedVT,
1240 Value *NumericalStabilitySanitizer::handleExt(const FPExtInst &Ext, Type *VT,
1537 static const char *getIntrinsicFromLibfunc(Function &Fn, Type *VT,
1552 CallBase &Call, Type *VT, Type *ExtendedVT, const TargetLibraryInfo &TLI,
1572 } else if (const char *Name = getIntrinsicFromLibfunc(*Fn, VT, TLI)) {
1626 Value *NumericalStabilitySanitizer::handleCallBase(CallBase &Call, Type *VT,
1639 maybeHandleKnownCallBase(Call, VT, ExtendedVT, TLI, Map, Builder))
1664 Type *VT = Inst.getType();
1665 Type *ExtendedVT = Config.getExtendedFPType(VT);
1669 return handleLoad(*Load, VT, ExtendedVT);
1676 return handleCallBase(*Call, VT, ExtendedVT, TLI, Map, Builder);
1690 Value *Shadow = handleCallBase(*Invoke, VT, ExtendedVT, TLI, Map, Builder);
1700 return handleTrunc(*Trunc, VT, ExtendedVT, Map, Builder);
1702 return handleExt(*Ext, VT, ExtendedVT, Map, Builder);
1758 Type *VT = Root.getType();
1759 Type *ExtendedVT = Config.getExtendedFPType(VT);
1782 Type *VT = Op->getType();
1783 if (!Config.getExtendedFPType(VT))
1802 StoreInst &Store, Type *VT, Type *ExtendedVT, const ValueToShadowMap &Map) {
1806 const auto Extents = getMemoryExtentsOrDie(VT);
1835 StoreInst &Store, Type *VT, const ValueToShadowMap &Map) {
1840 TypeSize SlotSize = DL.getTypeStoreSize(VT);
1950 Type *VT = StoredValue->getType();
1951 Type *ExtendedVT = Config.getExtendedFPType(VT);
1953 return propagateNonFTStore(*Store, VT, Map);
1954 return propagateFTStore(*Store, VT, ExtendedVT, Map);
1981 Type *VT = RV->getType();
1982 Type *ExtendedVT = Config.getExtendedFPType(VT);
2003 Type *VT = V->getType();
2004 Type *ExtendedVT = Config.getExtendedFPType(VT);