Lines Matching refs:DII
621 for (auto *DII : DbgUsers) in replaceDbgUsesWithUndef() local
622 DII->setKillLocation(); in replaceDbgUsesWithUndef()
1607 static bool valueCoversEntireFragment(Type *ValTy, DbgVariableIntrinsic *DII) { in valueCoversEntireFragment() argument
1608 const DataLayout &DL = DII->getDataLayout(); in valueCoversEntireFragment()
1611 DII->getExpression()->getActiveBits(DII->getVariable())) in valueCoversEntireFragment()
1617 if (DII->isAddressOfVariable()) { in valueCoversEntireFragment()
1619 assert(DII->getNumVariableLocationOps() == 1 && in valueCoversEntireFragment()
1622 dyn_cast_or_null<AllocaInst>(DII->getVariableLocationOp(0))) { in valueCoversEntireFragment()
1697 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableIntrinsic *DII, in ConvertDebugDeclareToDebugValue() argument
1699 assert(DII->isAddressOfVariable() || isa<DbgAssignIntrinsic>(DII)); in ConvertDebugDeclareToDebugValue()
1700 auto *DIVar = DII->getVariable(); in ConvertDebugDeclareToDebugValue()
1702 auto *DIExpr = DII->getExpression(); in ConvertDebugDeclareToDebugValue()
1705 DebugLoc NewLoc = getDebugValueLoc(DII); in ConvertDebugDeclareToDebugValue()
1721 valueCoversEntireFragment(DV->getType(), DII)); in ConvertDebugDeclareToDebugValue()
1730 LLVM_DEBUG(dbgs() << "Failed to convert dbg.declare to dbg.value: " << *DII in ConvertDebugDeclareToDebugValue()
1742 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableIntrinsic *DII, in ConvertDebugDeclareToDebugValue() argument
1744 auto *DIVar = DII->getVariable(); in ConvertDebugDeclareToDebugValue()
1745 auto *DIExpr = DII->getExpression(); in ConvertDebugDeclareToDebugValue()
1748 if (!valueCoversEntireFragment(LI->getType(), DII)) { in ConvertDebugDeclareToDebugValue()
1753 << *DII << '\n'); in ConvertDebugDeclareToDebugValue()
1757 DebugLoc NewLoc = getDebugValueLoc(DII); in ConvertDebugDeclareToDebugValue()
1816 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableIntrinsic *DII, in ConvertDebugDeclareToDebugValue() argument
1818 auto *DIVar = DII->getVariable(); in ConvertDebugDeclareToDebugValue()
1819 auto *DIExpr = DII->getExpression(); in ConvertDebugDeclareToDebugValue()
1825 if (!valueCoversEntireFragment(APN->getType(), DII)) { in ConvertDebugDeclareToDebugValue()
1830 << *DII << '\n'); in ConvertDebugDeclareToDebugValue()
1837 DebugLoc NewLoc = getDebugValueLoc(DII); in ConvertDebugDeclareToDebugValue()
2144 auto ReplaceOne = [&](auto *DII) { in replaceDbgDeclare() argument
2145 assert(DII->getVariable() && "Missing variable"); in replaceDbgDeclare()
2146 auto *DIExpr = DII->getExpression(); in replaceDbgDeclare()
2148 DII->setExpression(DIExpr); in replaceDbgDeclare()
2149 DII->replaceVariableLocationOp(Address, NewAddress); in replaceDbgDeclare()
2260 for (auto *DII : DbgUsers) { in salvageDebugInfoForDbgValues() local
2261 if (auto *DAI = dyn_cast<DbgAssignIntrinsic>(DII)) { in salvageDebugInfoForDbgValues()
2272 bool StackValue = isa<DbgValueInst>(DII); in salvageDebugInfoForDbgValues()
2273 auto DIILocation = DII->location_ops(); in salvageDebugInfoForDbgValues()
2283 DIExpression *SalvagedExpr = DII->getExpression(); in salvageDebugInfoForDbgValues()
2302 DII->replaceVariableLocationOp(&I, Op0); in salvageDebugInfoForDbgValues()
2305 DII->setExpression(SalvagedExpr); in salvageDebugInfoForDbgValues()
2306 } else if (isa<DbgValueInst>(DII) && IsValidSalvageExpr && in salvageDebugInfoForDbgValues()
2307 DII->getNumVariableLocationOps() + AdditionalValues.size() <= in salvageDebugInfoForDbgValues()
2309 DII->addVariableLocationOps(AdditionalValues, SalvagedExpr); in salvageDebugInfoForDbgValues()
2314 DII->setKillLocation(); in salvageDebugInfoForDbgValues()
2316 LLVM_DEBUG(dbgs() << "SALVAGE: " << *DII << '\n'); in salvageDebugInfoForDbgValues()
2388 for (auto *DII : DbgUsers) in salvageDebugInfoForDbgValues() local
2389 DII->setKillLocation(); in salvageDebugInfoForDbgValues()
2607 function_ref<DbgValReplacement(DbgVariableIntrinsic &DII)> RewriteExpr, in rewriteDebugUsers()
2624 for (auto *DII : Users) { in rewriteDebugUsers() local
2627 if (DomPointAfterFrom && DII->getNextNonDebugInstruction() == &DomPoint) { in rewriteDebugUsers()
2628 LLVM_DEBUG(dbgs() << "MOVE: " << *DII << '\n'); in rewriteDebugUsers()
2629 DII->moveAfter(&DomPoint); in rewriteDebugUsers()
2634 } else if (!DT.dominates(&DomPoint, DII)) { in rewriteDebugUsers()
2635 UndefOrSalvage.insert(DII); in rewriteDebugUsers()
2660 for (auto *DII : Users) { in rewriteDebugUsers() local
2661 if (UndefOrSalvage.count(DII)) in rewriteDebugUsers()
2664 DbgValReplacement DVRepl = RewriteExpr(*DII); in rewriteDebugUsers()
2668 DII->replaceVariableLocationOp(&From, &To); in rewriteDebugUsers()
2669 DII->setExpression(*DVRepl); in rewriteDebugUsers()
2670 LLVM_DEBUG(dbgs() << "REWRITE: " << *DII << '\n'); in rewriteDebugUsers()
2732 auto Identity = [&](DbgVariableIntrinsic &DII) -> DbgValReplacement { in replaceAllDbgUsesWith() argument
2733 return DII.getExpression(); in replaceAllDbgUsesWith()
2759 auto SignOrZeroExt = [&](DbgVariableIntrinsic &DII) -> DbgValReplacement { in replaceAllDbgUsesWith() argument
2760 DILocalVariable *Var = DII.getVariable(); in replaceAllDbgUsesWith()
2768 return DIExpression::appendExt(DII.getExpression(), ToBits, FromBits, in replaceAllDbgUsesWith()
3611 for (auto *DII : DbgUsers) in dropDebugUsers() local
3612 DII->eraseFromParent(); in dropDebugUsers()