Lines Matching refs:Origin
596 void setOrigin(Instruction *I, Value *Origin);
633 Value *Origin, Instruction *Pos);
692 Value *updateOriginIfTainted(Value *Shadow, Value *Origin, IRBuilder<> &IRB);
696 Value *originToIntptr(IRBuilder<> &IRB, Value *Origin);
700 void paintOrigin(IRBuilder<> &IRB, Value *Origin, Value *StoreOriginAddr,
709 Value *Origin, Value *StoreOriginAddr, Align InstAlignment);
1228 Value *Origin = DFSF.getOrigin(RI->getReturnValue()); in getOrBuildTrampolineFunction() local
1229 new StoreInst(Origin, &*std::prev(F->arg_end()), RI); in getOrBuildTrampolineFunction()
1647 Value *&Origin = ValOriginMap[V]; in getOrigin() local
1648 if (!Origin) { in getOrigin()
1658 Origin = IRB.CreateLoad(DFS.OriginTy, ArgOriginPtr); in getOrigin()
1661 Origin = DFS.ZeroOrigin; in getOrigin()
1666 Origin = DFS.ZeroOrigin; in getOrigin()
1671 Origin = DFS.ZeroOrigin; in getOrigin()
1674 return Origin; in getOrigin()
1677 void DFSanFunction::setOrigin(Instruction *I, Value *Origin) { in setOrigin() argument
1681 assert(Origin->getType() == DFS.OriginTy); in setOrigin()
1682 ValOriginMap[I] = Origin; in setOrigin()
1911 Value *Origin = nullptr; in combineOrigins() local
1919 if (!Origin) { in combineOrigins()
1920 Origin = OpOrigin; in combineOrigins()
1927 Origin = IRB.CreateSelect(Cond, OpOrigin, Origin); in combineOrigins()
1929 return Origin ? Origin : DFS.ZeroOrigin; in combineOrigins()
2025 auto AppendWideShadowAndOrigin = [&](Value *WideShadow, Value *Origin) { in loadShadowFast() argument
2040 Origins.push_back(Origin); in loadShadowFast()
2043 Origins.push_back(Origin); in loadShadowFast()
2140 Value *Origin = nullptr; in loadShadowOriginSansLoadTracking() local
2143 Origin = IRB.CreateAlignedLoad(DFS.OriginTy, OriginAddr, OriginAlign); in loadShadowOriginSansLoadTracking()
2152 return {LI, Origin}; in loadShadowOriginSansLoadTracking()
2162 return {combineShadows(Load, Load1, Pos), Origin}; in loadShadowOriginSansLoadTracking()
2169 OriginAlign, Origin, Pos); in loadShadowOriginSansLoadTracking()
2175 return {FallbackCall, Origin}; in loadShadowOriginSansLoadTracking()
2182 Value *PrimitiveShadow, *Origin; in loadShadowOrigin() local
2183 std::tie(PrimitiveShadow, Origin) = in loadShadowOrigin()
2190 Origin = updateOriginIfTainted(PrimitiveShadow, Origin, IRB); in loadShadowOrigin()
2193 return {PrimitiveShadow, Origin}; in loadShadowOrigin()
2233 Value *PrimitiveShadow, *Origin; in visitLoadInst() local
2234 std::tie(PrimitiveShadow, Origin) = in visitLoadInst()
2239 Origins.push_back(Origin); in visitLoadInst()
2267 Value *DFSanFunction::updateOriginIfTainted(Value *Shadow, Value *Origin, in updateOriginIfTainted() argument
2270 return IRB.CreateCall(DFS.DFSanChainOriginIfTaintedFn, {Shadow, Origin}); in updateOriginIfTainted()
2279 Value *DFSanFunction::originToIntptr(IRBuilder<> &IRB, Value *Origin) { in originToIntptr() argument
2284 return Origin; in originToIntptr()
2286 Origin = IRB.CreateIntCast(Origin, DFS.IntptrTy, /* isSigned */ false); in originToIntptr()
2287 return IRB.CreateOr(Origin, IRB.CreateShl(Origin, OriginSize * 8)); in originToIntptr()
2290 void DFSanFunction::paintOrigin(IRBuilder<> &IRB, Value *Origin, in paintOrigin() argument
2303 Value *IntptrOrigin = originToIntptr(IRB, Origin); in paintOrigin()
2320 IRB.CreateAlignedStore(Origin, GEP, CurrentAlignment); in paintOrigin()
2336 Value *Shadow, Value *Origin, in storeOrigin() argument
2345 paintOrigin(IRB, updateOrigin(Origin, IRB), StoreOriginAddr, Size, in storeOrigin()
2354 ConstantInt::get(DFS.IntptrTy, Size), Origin}); in storeOrigin()
2360 paintOrigin(IRBNew, updateOrigin(Origin, IRBNew), StoreOriginAddr, Size, in storeOrigin()
2384 Value *Origin, in storePrimitiveShadowOrigin() argument
2386 const bool ShouldTrackOrigins = DFS.shouldTrackOrigins() && Origin; in storePrimitiveShadowOrigin()
2398 assert(OI != AllocaOriginMap.end() && Origin); in storePrimitiveShadowOrigin()
2399 IRB.CreateStore(Origin, OI->second); in storePrimitiveShadowOrigin()
2451 storeOrigin(Pos, Addr, Size, PrimitiveShadow, Origin, OriginAddr, in storePrimitiveShadowOrigin()
2512 Value *Origin = nullptr; in visitStoreInst() local
2514 Origin = DFSF.combineOrigins(Shadows, Origins, &SI); in visitStoreInst()
2516 PrimitiveShadow, Origin, &SI); in visitStoreInst()