Lines Matching defs:Shadow

116 ///    Shadow and origin values for a particular X-byte memory location
389 // Shadow = ShadowBase + Offset
1176 Value *Shadow;
1181 : Shadow(S), Origin(O), OrigIns(I) {}
1307 void storeOrigin(IRBuilder<> &IRB, Value *Addr, Value *Shadow, Value *Origin,
1311 TypeSize StoreSize = DL.getTypeStoreSize(Shadow->getType());
1313 Value *ConvertedShadow = convertShadowToScalar(Shadow, IRB);
1354 Value *Shadow = SI->isAtomic() ? getCleanShadow(Val) : getShadow(Val);
1356 Type *ShadowTy = Shadow->getType();
1362 StoreInst *NewSI = IRB.CreateAlignedStore(Shadow, ShadowPtr, Alignment);
1370 storeOrigin(IRB, Addr, Shadow, getOrigin(Val), OriginPtr,
1456 Value *Shadow = nullptr;
1461 Value *ConvertedShadow = ShadowData.Shadow;
1484 if (!Shadow) {
1485 Shadow = ConvertedShadow;
1489 Shadow = convertToBool(Shadow, IRB, "_mscmp");
1491 Shadow = IRB.CreateOr(Shadow, ConvertedShadow, "_msor");
1494 if (Shadow) {
1497 materializeOneCheck(IRB, Shadow, nullptr);
1634 Value *collapseStructShadow(StructType *Struct, Value *Shadow,
1641 Value *ShadowItem = IRB.CreateExtractValue(Shadow, Idx);
1654 Value *collapseArrayShadow(ArrayType *Array, Value *Shadow,
1659 Value *FirstItem = IRB.CreateExtractValue(Shadow, 0);
1663 Value *ShadowItem = IRB.CreateExtractValue(Shadow, Idx);
1732 /// Shadow = ShadowBase + Offset
1752 /// Shadow = ShadowBase + Offset
1878 /// Shadow = ParamTLS+ArgOffset.
1974 Value *Shadow = ShadowMap[V];
1975 if (!Shadow) {
1978 assert(Shadow && "No shadow for a value");
1980 return Shadow;
2059 // Shadow over TLS
2113 void insertShadowCheck(Value *Shadow, Value *Origin, Instruction *OrigIns) {
2114 assert(Shadow);
2119 LLVM_DEBUG(dbgs() << "Skipping check of " << *Shadow << " before "
2124 Type *ShadowTy = Shadow->getType();
2131 ShadowOriginAndInsertPoint(Shadow, Origin, OrigIns));
2140 Value *Shadow, *Origin;
2142 Shadow = getShadow(Val);
2143 if (!Shadow)
2147 Shadow = dyn_cast_or_null<Instruction>(getShadow(Val));
2148 if (!Shadow)
2152 insertShadowCheck(Shadow, Origin, OrigIns);
2470 Value *Shadow = nullptr;
2483 if (!Shadow)
2484 Shadow = OpShadow;
2486 OpShadow = MSV->CreateShadowCast(IRB, OpShadow, Shadow->getType());
2487 Shadow = IRB.CreateOr(Shadow, OpShadow, "_msprop");
2518 assert(Shadow);
2519 Shadow = MSV->CreateShadowCast(IRB, Shadow, MSV->getShadowTy(I));
2520 MSV->setShadow(I, Shadow);
2800 Value *Shadow = IRB.CreateICmpSLT(getShadow(op), getCleanShadow(op),
2802 setShadow(&I, Shadow);
2938 Value *Shadow = getShadow(&I, 1);
2944 Addr, IRB, Shadow->getType(), Align(1), /*isStore*/ true);
2945 IRB.CreateAlignedStore(Shadow, ShadowPtr, Align(1));
3100 // Set the Output shadow based on input Shadow
3291 // Shadow is propagated with the signed variant of the same intrinsic applied
3566 Value *Shadow = IRB.CreateAlignedLoad(Ty, ShadowPtr, Alignment, "_ldmxcsr");
3569 insertShadowCheck(Shadow, Origin, &I);
3595 Value *Shadow =
3599 setShadow(&I, Shadow);
3617 Value *Shadow = getShadow(Values);
3623 IRB.CreateMaskedCompressStore(Shadow, ShadowPtr, Align, Mask);
3656 Value *Shadow =
3660 setShadow(&I, Shadow);
3683 Value *Shadow = getShadow(Values);
3689 IRB.CreateMaskedScatter(Shadow, ShadowPtrs, Alignment, Mask);
3705 Value *Shadow = getShadow(V);
3715 Ptr, IRB, Shadow->getType(), Alignment, /*isStore*/ true);
3717 IRB.CreateMaskedStore(Shadow, ShadowPtr, Alignment, Mask);
3724 DL.getTypeStoreSize(Shadow->getType()),
3958 Value *Shadow = IRB.CreateShuffleVector(First, Second, Mask);
3960 setShadow(&I, Shadow);
3971 Value *Shadow = IRB.CreateZExt(Scalar, getShadowTy(&I));
3973 setShadow(&I, Shadow);
3989 Value *Shadow = IRB.CreateShuffleVector(First, OrShadow, Mask);
3991 setShadow(&I, Shadow);
4024 Value *Shadow = getShadow(&I, 0);
4025 setShadow(&I, IRB.CreateICmpNE(Shadow, getCleanShadow(Shadow)));
4037 Value *Shadow = PoisonValue::get(getShadowTy(&I));
4038 Shadow = IRB.CreateInsertValue(Shadow, ShadowElt0, 0);
4039 Shadow = IRB.CreateInsertValue(Shadow, ShadowElt1, 1);
4041 setShadow(&I, Shadow);
4167 Value *Shadow = getShadow(&I, i);
4168 ShadowArgs.append(1, Shadow);
4252 Value *Shadow = getShadow(&I, i);
4257 IRB.CreateBitCast(Shadow, I.getArgOperand(i)->getType()));
4273 Value *Shadow =
4275 CombinedShadow = IRB.CreateOr(Shadow, CombinedShadow, "_msprop");
4923 // Compute the Shadow for arg even if it is ByVal, because
4929 << " Shadow: " << *ArgShadow << "\n");
5065 Value *Shadow = getShadow(RetVal);
5069 Shadow = getCleanShadow(RetVal);
5076 IRB.CreateAlignedStore(Shadow, ShadowPtr, kShadowTLSAlignment);
5634 Value *Shadow = MSV.getShadow(A);
5635 IRB.CreateAlignedStore(Shadow, ShadowBase, kShadowTLSAlignment);
5638 TypeSize StoreSize = DL.getTypeStoreSize(Shadow->getType());
6173 // extension". Shadow for an integer argument has the same type as the
6290 Value *Shadow = MSV.getShadow(A);
6292 Shadow = MSV.CreateShadowCast(IRB, Shadow, IRB.getInt64Ty(),
6295 IRB.CreateStore(Shadow, ShadowBase);
6298 TypeSize StoreSize = DL.getTypeStoreSize(Shadow->getType());