reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
436 return DFSF.F->getParent()->getDataLayout(); 1177 Value *CombinedShadow = DFSF.combineOperandShadows(&I); 1178 DFSF.setShadow(&I, CombinedShadow); 1303 DFSF.setShadow(&LI, DFSF.DFS.ZeroShadow); 1303 DFSF.setShadow(&LI, DFSF.DFS.ZeroShadow); 1316 Value *Shadow = DFSF.loadShadow(LI.getPointerOperand(), Size, Align, &LI); 1318 Value *PtrShadow = DFSF.getShadow(LI.getPointerOperand()); 1319 Shadow = DFSF.combineShadows(Shadow, PtrShadow, &LI); 1321 if (Shadow != DFSF.DFS.ZeroShadow) 1322 DFSF.NonZeroChecks.push_back(Shadow); 1324 DFSF.setShadow(&LI, Shadow); 1394 Value* Shadow = DFSF.getShadow(SI.getValueOperand()); 1396 Value *PtrShadow = DFSF.getShadow(SI.getPointerOperand()); 1397 Shadow = DFSF.combineShadows(Shadow, PtrShadow, &SI); 1399 DFSF.storeShadow(SI.getPointerOperand(), Size, Align, Shadow, &SI); 1454 DFSF.AllocaShadowMap[&I] = IRB.CreateAlloca(DFSF.DFS.ShadowTy); 1454 DFSF.AllocaShadowMap[&I] = IRB.CreateAlloca(DFSF.DFS.ShadowTy); 1456 DFSF.setShadow(&I, DFSF.DFS.ZeroShadow); 1456 DFSF.setShadow(&I, DFSF.DFS.ZeroShadow); 1460 Value *CondShadow = DFSF.getShadow(I.getCondition()); 1461 Value *TrueShadow = DFSF.getShadow(I.getTrueValue()); 1462 Value *FalseShadow = DFSF.getShadow(I.getFalseValue()); 1465 DFSF.setShadow( 1467 DFSF.combineShadows( 1468 CondShadow, DFSF.combineShadows(TrueShadow, FalseShadow, &I), &I)); 1477 DFSF.setShadow(&I, DFSF.combineShadows(CondShadow, ShadowSel, &I)); 1477 DFSF.setShadow(&I, DFSF.combineShadows(CondShadow, ShadowSel, &I)); 1483 Value *ValShadow = DFSF.getShadow(I.getValue()); 1484 IRB.CreateCall(DFSF.DFS.DFSanSetLabelFn, 1486 *DFSF.DFS.Ctx)), 1487 IRB.CreateZExtOrTrunc(I.getLength(), DFSF.DFS.IntptrTy)}); 1492 Value *DestShadow = DFSF.DFS.getShadowAddress(I.getDest(), &I); 1493 Value *SrcShadow = DFSF.DFS.getShadowAddress(I.getSource(), &I); 1496 ConstantInt::get(I.getLength()->getType(), DFSF.DFS.ShadowWidth / 8)); 1497 Type *Int8Ptr = Type::getInt8PtrTy(*DFSF.DFS.Ctx); 1504 MTI->setDestAlignment(I.getDestAlignment() * (DFSF.DFS.ShadowWidth / 8)); 1505 MTI->setSourceAlignment(I.getSourceAlignment() * (DFSF.DFS.ShadowWidth / 8)); 1507 MTI->setDestAlignment(DFSF.DFS.ShadowWidth / 8); 1508 MTI->setSourceAlignment(DFSF.DFS.ShadowWidth / 8); 1513 if (!DFSF.IsNativeABI && RI.getReturnValue()) { 1514 switch (DFSF.IA) { 1516 Value *S = DFSF.getShadow(RI.getReturnValue()); 1518 IRB.CreateStore(S, DFSF.getRetvalTLS()); 1523 Type *RT = DFSF.F->getFunctionType()->getReturnType(); 1527 IRB.CreateInsertValue(InsVal, DFSF.getShadow(RI.getReturnValue()), 1); 1544 if (F == DFSF.DFS.DFSanVarargWrapperFn.getCallee()->stripPointerCasts()) 1550 DFSF.DFS.UnwrappedFnMap.find(CS.getCalledValue()); 1551 if (i != DFSF.DFS.UnwrappedFnMap.end()) { 1553 switch (DFSF.DFS.getWrapperKind(F)) { 1556 IRB.CreateCall(DFSF.DFS.DFSanUnimplementedFn, 1558 DFSF.setShadow(CS.getInstruction(), DFSF.DFS.ZeroShadow); 1558 DFSF.setShadow(CS.getInstruction(), DFSF.DFS.ZeroShadow); 1562 DFSF.setShadow(CS.getInstruction(), DFSF.DFS.ZeroShadow); 1562 DFSF.setShadow(CS.getInstruction(), DFSF.DFS.ZeroShadow); 1574 TransformedFunction CustomFn = DFSF.DFS.getCustomFunctionType(FT); 1577 FunctionCallee CustomF = DFSF.DFS.Mod->getOrInsertFunction( 1585 DFSF.DFS.ReadOnlyNoneAttrs); 1602 Constant *T = DFSF.DFS.getOrBuildTrampolineFunction(ParamFT, TName); 1605 IRB.CreateBitCast(*i, Type::getInt8PtrTy(*DFSF.DFS.Ctx))); 1614 Args.push_back(DFSF.getShadow(*i)); 1617 auto *LabelVATy = ArrayType::get(DFSF.DFS.ShadowTy, 1621 "labelva", &DFSF.F->getEntryBlock().front()); 1625 IRB.CreateStore(DFSF.getShadow(*i), LabelVAPtr); 1632 if (!DFSF.LabelReturnAlloca) { 1633 DFSF.LabelReturnAlloca = 1634 new AllocaInst(DFSF.DFS.ShadowTy, 1636 "labelreturn", &DFSF.F->getEntryBlock().front()); 1638 Args.push_back(DFSF.LabelReturnAlloca); 1654 if (CustomCI->getArgOperand(ArgNo)->getType() == DFSF.DFS.ShadowTy) 1660 IRB.CreateLoad(DFSF.DFS.ShadowTy, DFSF.LabelReturnAlloca); 1660 IRB.CreateLoad(DFSF.DFS.ShadowTy, DFSF.LabelReturnAlloca); 1661 DFSF.setShadow(CustomCI, LabelLoad); 1674 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) { 1676 IRB.CreateStore(DFSF.getShadow(CS.getArgument(i)), 1677 DFSF.getArgTLS(i, CS.getInstruction())); 1688 SplitEdge(II->getParent(), II->getNormalDest(), &DFSF.DT); 1696 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) { 1698 LoadInst *LI = NextIRB.CreateLoad(DFSF.DFS.ShadowTy, DFSF.getRetvalTLS()); 1698 LoadInst *LI = NextIRB.CreateLoad(DFSF.DFS.ShadowTy, DFSF.getRetvalTLS()); 1699 DFSF.SkipInsts.insert(LI); 1700 DFSF.setShadow(CS.getInstruction(), LI); 1701 DFSF.NonZeroChecks.push_back(LI); 1707 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_Args) { 1708 FunctionType *NewFT = DFSF.DFS.getArgsFunctionType(FT); 1719 Args.push_back(DFSF.getShadow(*i)); 1723 ArrayType *VarArgArrayTy = ArrayType::get(DFSF.DFS.ShadowTy, VarArgSize); 1726 "", &DFSF.F->getEntryBlock().front()); 1730 DFSF.getShadow(*i), 1745 *DFSF.DFS.Ctx, AttributeList::ReturnIndex, 1751 DFSF.SkipInsts.insert(ExVal); 1754 DFSF.SkipInsts.insert(ExShadow); 1755 DFSF.setShadow(ExVal, ExShadow); 1756 DFSF.NonZeroChecks.push_back(ExShadow); 1767 PHINode::Create(DFSF.DFS.ShadowTy, PN.getNumIncomingValues(), "", &PN); 1770 Value *UndefShadow = UndefValue::get(DFSF.DFS.ShadowTy); 1776 DFSF.PHIFixups.push_back(std::make_pair(&PN, ShadowPN)); 1777 DFSF.setShadow(&PN, ShadowPN);