Lines Matching defs:Origin
45 /// Origin tracking.
390 // Origin = OriginBase + Offset
1177 Value *Origin;
1181 : Shadow(S), Origin(O), OrigIns(I) {}
1247 Value *originToIntptr(IRBuilder<> &IRB, Value *Origin) {
1251 return Origin;
1253 Origin = IRB.CreateIntCast(Origin, MS.IntptrTy, /* isSigned */ false);
1254 return IRB.CreateOr(Origin, IRB.CreateShl(Origin, kOriginSize * 8));
1258 void paintOrigin(IRBuilder<> &IRB, Value *Origin, Value *OriginPtr,
1279 IRB.CreateAlignedStore(Origin, GEP, kMinOriginAlignment);
1288 Value *IntptrOrigin = originToIntptr(IRB, Origin);
1302 IRB.CreateAlignedStore(Origin, GEP, CurrentAlignment);
1307 void storeOrigin(IRBuilder<> &IRB, Value *Addr, Value *Shadow, Value *Origin,
1316 // Origin is not needed: value is initialized or const shadow is
1322 paintOrigin(IRB, updateOrigin(Origin, IRB), OriginPtr, StoreSize,
1336 CallBase *CB = IRB.CreateCall(Fn, {ConvertedShadow2, Addr, Origin});
1344 paintOrigin(IRBNew, updateOrigin(Origin, IRBNew), OriginPtr, StoreSize,
1388 void insertWarningFn(IRBuilder<> &IRB, Value *Origin) {
1389 if (!Origin)
1390 Origin = (Value *)IRB.getInt32(0);
1391 assert(Origin->getType()->isIntegerTy());
1396 if (Instruction *OI = dyn_cast_or_null<Instruction>(Origin)) {
1399 // Origin update with missing or the same debug location provides no
1406 Origin = updateOrigin(Origin, IRBOrigin);
1412 IRB.CreateCall(MS.WarningFn, Origin)->setCannotMerge();
1421 Value *Origin) {
1434 MS.TrackOrigins && Origin ? Origin : (Value *)IRB.getInt32(0)});
1444 insertWarningFn(IRB, Origin);
1470 insertWarningFn(IRB, ShadowData.Origin);
1480 materializeOneCheck(IRB, ConvertedShadow, ShadowData.Origin);
1733 /// Origin = (OriginBase + Offset) & ~Alignment
1753 /// Origin = (OriginBase + Offset) & ~3ULL
1913 /// Set Origin to be the origin value for V.
1914 void setOrigin(Value *V, Value *Origin) {
1918 LLVM_DEBUG(dbgs() << "ORIGIN: " << *V << " ==> " << *Origin << "\n");
1919 OriginMap[V] = Origin;
2099 Value *Origin = OriginMap[V];
2100 assert(Origin && "Missing origin");
2101 return Origin;
2113 void insertShadowCheck(Value *Shadow, Value *Origin, Instruction *OrigIns) {
2131 ShadowOriginAndInsertPoint(Shadow, Origin, OrigIns));
2140 Value *Shadow, *Origin;
2145 Origin = getOrigin(Val);
2150 Origin = dyn_cast_or_null<Instruction>(getOrigin(Val));
2152 insertShadowCheck(Shadow, Origin, OrigIns);
2471 Value *Origin = nullptr;
2493 if (!Origin) {
2494 Origin = OpOrigin;
2500 Origin = IRB.CreateSelect(Cond, OpOrigin, Origin);
2523 assert(Origin);
2524 MSV->setOrigin(I, Origin);
2532 assert(Origin);
2533 MSV->paintOrigin(IRB, Origin, OriginPtr, TS, kMinOriginAlignment);
3567 Value *Origin = MS.TrackOrigins ? IRB.CreateLoad(MS.OriginTy, OriginPtr)
3569 insertShadowCheck(Shadow, Origin, &I);
3768 Value *Origin = IRB.CreateSelect(NotNull, getOrigin(PassThru), PtrOrigin);
3770 setOrigin(&I, Origin);
5637 Value *Origin = MSV.getOrigin(A);
5639 MSV.paintOrigin(IRB, Origin, OriginBase, StoreSize,
6297 Value *Origin = MSV.getOrigin(A);
6299 MSV.paintOrigin(IRB, Origin, OriginBase, StoreSize,