Lines Matching refs:Shadow
570 Value *Shadow; member
619 void setShadow(Instruction *I, Value *Shadow);
658 Value *collapseToPrimitiveShadow(Value *Shadow, Instruction *Pos);
675 Value *collapseAggregateShadow(AggregateType *AT, Value *Shadow,
678 Value *collapseToPrimitiveShadow(Value *Shadow, IRBuilder<> &IRB);
707 Value *updateOriginIfTainted(Value *Shadow, Value *Origin, IRBuilder<> &IRB);
723 void storeOrigin(Instruction *Pos, Value *Addr, uint64_t Size, Value *Shadow,
878 Value *Shadow, SmallVector<unsigned, 4> &Indices, Type *SubShadowTy, in expandFromPrimitiveShadowRecursive() argument
881 return IRB.CreateInsertValue(Shadow, PrimitiveShadow, Indices); in expandFromPrimitiveShadowRecursive()
886 Shadow = expandFromPrimitiveShadowRecursive( in expandFromPrimitiveShadowRecursive()
887 Shadow, Indices, AT->getElementType(), PrimitiveShadow, IRB); in expandFromPrimitiveShadowRecursive()
890 return Shadow; in expandFromPrimitiveShadowRecursive()
896 Shadow = expandFromPrimitiveShadowRecursive( in expandFromPrimitiveShadowRecursive()
897 Shadow, Indices, ST->getElementType(Idx), PrimitiveShadow, IRB); in expandFromPrimitiveShadowRecursive()
900 return Shadow; in expandFromPrimitiveShadowRecursive()
922 Value *Shadow = UndefValue::get(ShadowTy); in expandFromPrimitiveShadow() local
923 Shadow = expandFromPrimitiveShadowRecursive(Shadow, Indices, ShadowTy, in expandFromPrimitiveShadow()
927 CachedCollapsedShadows[Shadow] = PrimitiveShadow; in expandFromPrimitiveShadow()
928 return Shadow; in expandFromPrimitiveShadow()
932 Value *DFSanFunction::collapseAggregateShadow(AggregateType *AT, Value *Shadow, in collapseAggregateShadow() argument
937 Value *FirstItem = IRB.CreateExtractValue(Shadow, 0); in collapseAggregateShadow()
941 Value *ShadowItem = IRB.CreateExtractValue(Shadow, Idx); in collapseAggregateShadow()
948 Value *DFSanFunction::collapseToPrimitiveShadow(Value *Shadow, in collapseToPrimitiveShadow() argument
950 Type *ShadowTy = Shadow->getType(); in collapseToPrimitiveShadow()
952 return Shadow; in collapseToPrimitiveShadow()
954 return collapseAggregateShadow<>(AT, Shadow, IRB); in collapseToPrimitiveShadow()
956 return collapseAggregateShadow<>(ST, Shadow, IRB); in collapseToPrimitiveShadow()
960 Value *DFSanFunction::collapseToPrimitiveShadow(Value *Shadow, in collapseToPrimitiveShadow() argument
962 Type *ShadowTy = Shadow->getType(); in collapseToPrimitiveShadow()
964 return Shadow; in collapseToPrimitiveShadow()
967 Value *&CS = CachedCollapsedShadows[Shadow]; in collapseToPrimitiveShadow()
972 Value *PrimitiveShadow = collapseToPrimitiveShadow(Shadow, IRB); in collapseToPrimitiveShadow()
1685 Value *&Shadow = ValShadowMap[V]; in getShadow() local
1686 if (!Shadow) { in getShadow()
1690 Shadow = getShadowForTLSArgument(A); in getShadow()
1691 NonZeroChecks.push_back(Shadow); in getShadow()
1693 Shadow = DFS.getZeroShadow(V); in getShadow()
1696 return Shadow; in getShadow()
1699 void DFSanFunction::setShadow(Instruction *I, Value *Shadow) { in setShadow() argument
1701 ValShadowMap[I] = Shadow; in setShadow()
1809 return CCS.Shadow; in combineShadows()
1817 CCS.Shadow = IRB.CreateOr(PV1, PV2); in combineShadows()
1830 ShadowElements[CCS.Shadow] = std::move(UnionElems); in combineShadows()
1832 return CCS.Shadow; in combineShadows()
1842 Value *Shadow = getShadow(Inst->getOperand(0)); in combineOperandShadows() local
1844 Shadow = combineShadows(Shadow, getShadow(Inst->getOperand(I)), Inst); in combineOperandShadows()
1846 return expandFromPrimitiveShadow(Inst->getType(), Shadow, Inst); in combineOperandShadows()
2236 Value *Shadow = in visitLoadInst() local
2238 DFSF.setShadow(&LI, Shadow); in visitLoadInst()
2251 Value *DFSanFunction::updateOriginIfTainted(Value *Shadow, Value *Origin, in updateOriginIfTainted() argument
2254 return IRB.CreateCall(DFS.DFSanChainOriginIfTaintedFn, {Shadow, Origin}); in updateOriginIfTainted()
2320 Value *Shadow, Value *Origin, in storeOrigin() argument
2325 Value *CollapsedShadow = collapseToPrimitiveShadow(Shadow, Pos); in storeOrigin()
2477 Value *Shadow = in visitStoreInst() local
2481 Shadows.push_back(Shadow); in visitStoreInst()
2492 PrimitiveShadow = DFSF.combineShadows(Shadow, PtrShadow, &SI); in visitStoreInst()
2494 PrimitiveShadow = DFSF.collapseToPrimitiveShadow(Shadow, &SI); in visitStoreInst()