Lines Matching refs:Shadow
563 Value *Shadow; member
610 void setShadow(Instruction *I, Value *Shadow);
649 Value *collapseToPrimitiveShadow(Value *Shadow, Instruction *Pos);
660 Value *collapseAggregateShadow(AggregateType *AT, Value *Shadow,
663 Value *collapseToPrimitiveShadow(Value *Shadow, IRBuilder<> &IRB);
692 Value *updateOriginIfTainted(Value *Shadow, Value *Origin, IRBuilder<> &IRB);
708 void storeOrigin(Instruction *Pos, Value *Addr, uint64_t Size, Value *Shadow,
907 Value *Shadow, SmallVector<unsigned, 4> &Indices, Type *SubShadowTy, in expandFromPrimitiveShadowRecursive() argument
910 return IRB.CreateInsertValue(Shadow, PrimitiveShadow, Indices); in expandFromPrimitiveShadowRecursive()
915 Shadow = expandFromPrimitiveShadowRecursive( in expandFromPrimitiveShadowRecursive()
916 Shadow, Indices, AT->getElementType(), PrimitiveShadow, IRB); in expandFromPrimitiveShadowRecursive()
919 return Shadow; in expandFromPrimitiveShadowRecursive()
925 Shadow = expandFromPrimitiveShadowRecursive( in expandFromPrimitiveShadowRecursive()
926 Shadow, Indices, ST->getElementType(Idx), PrimitiveShadow, IRB); in expandFromPrimitiveShadowRecursive()
929 return Shadow; in expandFromPrimitiveShadowRecursive()
951 Value *Shadow = UndefValue::get(ShadowTy); in expandFromPrimitiveShadow() local
952 Shadow = expandFromPrimitiveShadowRecursive(Shadow, Indices, ShadowTy, in expandFromPrimitiveShadow()
956 CachedCollapsedShadows[Shadow] = PrimitiveShadow; in expandFromPrimitiveShadow()
957 return Shadow; in expandFromPrimitiveShadow()
961 Value *DFSanFunction::collapseAggregateShadow(AggregateType *AT, Value *Shadow, in collapseAggregateShadow() argument
966 Value *FirstItem = IRB.CreateExtractValue(Shadow, 0); in collapseAggregateShadow()
970 Value *ShadowItem = IRB.CreateExtractValue(Shadow, Idx); in collapseAggregateShadow()
977 Value *DFSanFunction::collapseToPrimitiveShadow(Value *Shadow, in collapseToPrimitiveShadow() argument
979 Type *ShadowTy = Shadow->getType(); in collapseToPrimitiveShadow()
981 return Shadow; in collapseToPrimitiveShadow()
983 return collapseAggregateShadow<>(AT, Shadow, IRB); in collapseToPrimitiveShadow()
985 return collapseAggregateShadow<>(ST, Shadow, IRB); in collapseToPrimitiveShadow()
989 Value *DFSanFunction::collapseToPrimitiveShadow(Value *Shadow, in collapseToPrimitiveShadow() argument
991 Type *ShadowTy = Shadow->getType(); in collapseToPrimitiveShadow()
993 return Shadow; in collapseToPrimitiveShadow()
998 Value *&CS = CachedCollapsedShadows[Shadow]; in collapseToPrimitiveShadow()
1003 Value *PrimitiveShadow = collapseToPrimitiveShadow(Shadow, IRB); in collapseToPrimitiveShadow()
1206 Value *Shadow = in getOrBuildTrampolineFunction() local
1208 DFSF.ValShadowMap[&*ValAI] = Shadow; in getOrBuildTrampolineFunction()
1719 Value *&Shadow = ValShadowMap[V]; in getShadow() local
1720 if (!Shadow) { in getShadow()
1726 Shadow = getShadowForTLSArgument(A); in getShadow()
1733 Shadow = &*Arg; in getShadow()
1734 assert(Shadow->getType() == DFS.PrimitiveShadowTy); in getShadow()
1738 NonZeroChecks.push_back(Shadow); in getShadow()
1740 Shadow = DFS.getZeroShadow(V); in getShadow()
1743 return Shadow; in getShadow()
1746 void DFSanFunction::setShadow(Instruction *I, Value *Shadow) { in setShadow() argument
1749 Shadow->getType() == DFS.PrimitiveShadowTy); in setShadow()
1750 ValShadowMap[I] = Shadow; in setShadow()
1858 return CCS.Shadow; in combineShadows()
1866 CCS.Shadow = IRB.CreateOr(PV1, PV2); in combineShadows()
1879 ShadowElements[CCS.Shadow] = std::move(UnionElems); in combineShadows()
1881 return CCS.Shadow; in combineShadows()
1891 Value *Shadow = getShadow(Inst->getOperand(0)); in combineOperandShadows() local
1893 Shadow = combineShadows(Shadow, getShadow(Inst->getOperand(I)), Inst); in combineOperandShadows()
1895 return expandFromPrimitiveShadow(Inst->getType(), Shadow, Inst); in combineOperandShadows()
2252 Value *Shadow = in visitLoadInst() local
2254 DFSF.setShadow(&LI, Shadow); in visitLoadInst()
2267 Value *DFSanFunction::updateOriginIfTainted(Value *Shadow, Value *Origin, in updateOriginIfTainted() argument
2270 return IRB.CreateCall(DFS.DFSanChainOriginIfTaintedFn, {Shadow, Origin}); in updateOriginIfTainted()
2336 Value *Shadow, Value *Origin, in storeOrigin() argument
2341 Value *CollapsedShadow = collapseToPrimitiveShadow(Shadow, Pos); in storeOrigin()
2493 Value *Shadow = in visitStoreInst() local
2497 Shadows.push_back(Shadow); in visitStoreInst()
2508 PrimitiveShadow = DFSF.combineShadows(Shadow, PtrShadow, &SI); in visitStoreInst()
2510 PrimitiveShadow = DFSF.collapseToPrimitiveShadow(Shadow, &SI); in visitStoreInst()