Lines Matching refs:Origin
642 void setOrigin(Instruction *I, Value *Origin);
679 Value *Origin, BasicBlock::iterator Pos);
749 Value *updateOriginIfTainted(Value *Shadow, Value *Origin, IRBuilder<> &IRB);
753 Value *originToIntptr(IRBuilder<> &IRB, Value *Origin);
757 void paintOrigin(IRBuilder<> &IRB, Value *Origin, Value *StoreOriginAddr,
766 Value *Shadow, Value *Origin, Value *StoreOriginAddr,
1711 if (Instruction *Origin = in runImpl() local
1714 Instruction *OriginNext = Origin->getNextNode(); in runImpl()
1815 Value *&Origin = ValOriginMap[V]; in getOrigin() local
1816 if (!Origin) { in getOrigin()
1824 Origin = IRB.CreateLoad(DFS.OriginTy, ArgOriginPtr); in getOrigin()
1827 Origin = DFS.ZeroOrigin; in getOrigin()
1830 Origin = DFS.ZeroOrigin; in getOrigin()
1833 return Origin; in getOrigin()
1836 void DFSanFunction::setOrigin(Instruction *I, Value *Origin) { in setOrigin() argument
1840 assert(Origin->getType() == DFS.OriginTy); in setOrigin()
1841 ValOriginMap[I] = Origin; in setOrigin()
2063 Value *Origin = nullptr; in combineOrigins() local
2071 if (!Origin) { in combineOrigins()
2072 Origin = OpOrigin; in combineOrigins()
2079 Origin = IRB.CreateSelect(Cond, OpOrigin, Origin); in combineOrigins()
2081 return Origin ? Origin : DFS.ZeroOrigin; in combineOrigins()
2185 auto AppendWideShadowAndOrigin = [&](Value *WideShadow, Value *Origin) { in loadShadowFast() argument
2200 Origins.push_back(Origin); in loadShadowFast()
2203 Origins.push_back(Origin); in loadShadowFast()
2299 Value *Origin = nullptr; in loadShadowOriginSansLoadTracking() local
2302 Origin = IRB.CreateAlignedLoad(DFS.OriginTy, OriginAddr, OriginAlign); in loadShadowOriginSansLoadTracking()
2311 return {LI, Origin}; in loadShadowOriginSansLoadTracking()
2321 return {combineShadows(Load, Load1, Pos), Origin}; in loadShadowOriginSansLoadTracking()
2328 OriginAlign, Origin, Pos); in loadShadowOriginSansLoadTracking()
2334 return {FallbackCall, Origin}; in loadShadowOriginSansLoadTracking()
2340 Value *PrimitiveShadow, *Origin; in loadShadowOrigin() local
2341 std::tie(PrimitiveShadow, Origin) = in loadShadowOrigin()
2348 Origin = updateOriginIfTainted(PrimitiveShadow, Origin, IRB); in loadShadowOrigin()
2351 return {PrimitiveShadow, Origin}; in loadShadowOrigin()
2418 Value *PrimitiveShadow, *Origin; in visitLoadInst() local
2419 std::tie(PrimitiveShadow, Origin) = in visitLoadInst()
2424 Origins.push_back(Origin); in visitLoadInst()
2459 Value *DFSanFunction::updateOriginIfTainted(Value *Shadow, Value *Origin, in updateOriginIfTainted() argument
2462 return IRB.CreateCall(DFS.DFSanChainOriginIfTaintedFn, {Shadow, Origin}); in updateOriginIfTainted()
2471 Value *DFSanFunction::originToIntptr(IRBuilder<> &IRB, Value *Origin) { in originToIntptr() argument
2476 return Origin; in originToIntptr()
2478 Origin = IRB.CreateIntCast(Origin, DFS.IntptrTy, /* isSigned */ false); in originToIntptr()
2479 return IRB.CreateOr(Origin, IRB.CreateShl(Origin, OriginSize * 8)); in originToIntptr()
2482 void DFSanFunction::paintOrigin(IRBuilder<> &IRB, Value *Origin, in paintOrigin() argument
2495 Value *IntptrOrigin = originToIntptr(IRB, Origin); in paintOrigin()
2512 IRB.CreateAlignedStore(Origin, GEP, CurrentAlignment); in paintOrigin()
2528 uint64_t Size, Value *Shadow, Value *Origin, in storeOrigin() argument
2537 paintOrigin(IRB, updateOrigin(Origin, IRB), StoreOriginAddr, Size, in storeOrigin()
2545 {CollapsedShadow, Addr, ConstantInt::get(DFS.IntptrTy, Size), Origin}); in storeOrigin()
2552 paintOrigin(IRBNew, updateOrigin(Origin, IRBNew), StoreOriginAddr, Size, in storeOrigin()
2574 Value *Origin, in storePrimitiveShadowOrigin() argument
2576 const bool ShouldTrackOrigins = DFS.shouldTrackOrigins() && Origin; in storePrimitiveShadowOrigin()
2588 assert(OI != AllocaOriginMap.end() && Origin); in storePrimitiveShadowOrigin()
2589 IRB.CreateStore(Origin, OI->second); in storePrimitiveShadowOrigin()
2639 storeOrigin(Pos, Addr, Size, PrimitiveShadow, Origin, OriginAddr, in storePrimitiveShadowOrigin()
2700 Value *Origin = nullptr; in visitStoreInst() local
2702 Origin = DFSF.combineOrigins(Shadows, Origins, SI.getIterator()); in visitStoreInst()
2704 PrimitiveShadow, Origin, SI.getIterator()); in visitStoreInst()