Lines Matching refs:Origin
605 void setOrigin(Instruction *I, Value *Origin);
642 Value *Origin, Instruction *Pos);
707 Value *updateOriginIfTainted(Value *Shadow, Value *Origin, IRBuilder<> &IRB);
711 Value *originToIntptr(IRBuilder<> &IRB, Value *Origin);
715 void paintOrigin(IRBuilder<> &IRB, Value *Origin, Value *StoreOriginAddr,
724 Value *Origin, Value *StoreOriginAddr, Align InstAlignment);
1620 Value *&Origin = ValOriginMap[V]; in getOrigin() local
1621 if (!Origin) { in getOrigin()
1629 Origin = IRB.CreateLoad(DFS.OriginTy, ArgOriginPtr); in getOrigin()
1632 Origin = DFS.ZeroOrigin; in getOrigin()
1635 Origin = DFS.ZeroOrigin; in getOrigin()
1638 return Origin; in getOrigin()
1641 void DFSanFunction::setOrigin(Instruction *I, Value *Origin) { in setOrigin() argument
1645 assert(Origin->getType() == DFS.OriginTy); in setOrigin()
1646 ValOriginMap[I] = Origin; in setOrigin()
1862 Value *Origin = nullptr; in combineOrigins() local
1870 if (!Origin) { in combineOrigins()
1871 Origin = OpOrigin; in combineOrigins()
1878 Origin = IRB.CreateSelect(Cond, OpOrigin, Origin); in combineOrigins()
1880 return Origin ? Origin : DFS.ZeroOrigin; in combineOrigins()
1984 auto AppendWideShadowAndOrigin = [&](Value *WideShadow, Value *Origin) { in loadShadowFast() argument
1999 Origins.push_back(Origin); in loadShadowFast()
2002 Origins.push_back(Origin); in loadShadowFast()
2099 Value *Origin = nullptr; in loadShadowOriginSansLoadTracking() local
2102 Origin = IRB.CreateAlignedLoad(DFS.OriginTy, OriginAddr, OriginAlign); in loadShadowOriginSansLoadTracking()
2111 return {LI, Origin}; in loadShadowOriginSansLoadTracking()
2121 return {combineShadows(Load, Load1, Pos), Origin}; in loadShadowOriginSansLoadTracking()
2128 OriginAlign, Origin, Pos); in loadShadowOriginSansLoadTracking()
2134 return {FallbackCall, Origin}; in loadShadowOriginSansLoadTracking()
2141 Value *PrimitiveShadow, *Origin; in loadShadowOrigin() local
2142 std::tie(PrimitiveShadow, Origin) = in loadShadowOrigin()
2149 Origin = updateOriginIfTainted(PrimitiveShadow, Origin, IRB); in loadShadowOrigin()
2152 return {PrimitiveShadow, Origin}; in loadShadowOrigin()
2215 Value *PrimitiveShadow, *Origin; in visitLoadInst() local
2216 std::tie(PrimitiveShadow, Origin) = in visitLoadInst()
2221 Origins.push_back(Origin); in visitLoadInst()
2251 Value *DFSanFunction::updateOriginIfTainted(Value *Shadow, Value *Origin, in updateOriginIfTainted() argument
2254 return IRB.CreateCall(DFS.DFSanChainOriginIfTaintedFn, {Shadow, Origin}); in updateOriginIfTainted()
2263 Value *DFSanFunction::originToIntptr(IRBuilder<> &IRB, Value *Origin) { in originToIntptr() argument
2268 return Origin; in originToIntptr()
2270 Origin = IRB.CreateIntCast(Origin, DFS.IntptrTy, /* isSigned */ false); in originToIntptr()
2271 return IRB.CreateOr(Origin, IRB.CreateShl(Origin, OriginSize * 8)); in originToIntptr()
2274 void DFSanFunction::paintOrigin(IRBuilder<> &IRB, Value *Origin, in paintOrigin() argument
2287 Value *IntptrOrigin = originToIntptr(IRB, Origin); in paintOrigin()
2304 IRB.CreateAlignedStore(Origin, GEP, CurrentAlignment); in paintOrigin()
2320 Value *Shadow, Value *Origin, in storeOrigin() argument
2329 paintOrigin(IRB, updateOrigin(Origin, IRB), StoreOriginAddr, Size, in storeOrigin()
2338 ConstantInt::get(DFS.IntptrTy, Size), Origin}); in storeOrigin()
2344 paintOrigin(IRBNew, updateOrigin(Origin, IRBNew), StoreOriginAddr, Size, in storeOrigin()
2368 Value *Origin, in storePrimitiveShadowOrigin() argument
2370 const bool ShouldTrackOrigins = DFS.shouldTrackOrigins() && Origin; in storePrimitiveShadowOrigin()
2382 assert(OI != AllocaOriginMap.end() && Origin); in storePrimitiveShadowOrigin()
2383 IRB.CreateStore(Origin, OI->second); in storePrimitiveShadowOrigin()
2435 storeOrigin(Pos, Addr, Size, PrimitiveShadow, Origin, OriginAddr, in storePrimitiveShadowOrigin()
2496 Value *Origin = nullptr; in visitStoreInst() local
2498 Origin = DFSF.combineOrigins(Shadows, Origins, &SI); in visitStoreInst()
2500 PrimitiveShadow, Origin, &SI); in visitStoreInst()