Lines Matching defs:DVR

623   for (auto *DVR : DPUsers)
624 DVR->setKillLocation();
1591 for (auto *DVR : DbgVariableRecords) {
1592 assert(is_contained(DVR->location_ops(), APN));
1593 if ((DVR->getVariable() == DIVar) && (DVR->getExpression() == DIExpr))
1634 static bool valueCoversEntireFragment(Type *ValTy, DbgVariableRecord *DVR) {
1635 const DataLayout &DL = DVR->getModule()->getDataLayout();
1638 DVR->getExpression()->getActiveBits(DVR->getVariable()))
1644 if (DVR->isAddressOfVariable()) {
1645 // DVR should have exactly 1 location when it is an address.
1646 assert(DVR->getNumVariableLocationOps() == 1 &&
1649 dyn_cast_or_null<AllocaInst>(DVR->getVariableLocationOp(0))) {
1767 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableRecord *DVR,
1769 assert(DVR->isAddressOfVariable() || DVR->isDbgAssign());
1770 auto *DIVar = DVR->getVariable();
1772 auto *DIExpr = DVR->getExpression();
1775 DebugLoc NewLoc = getDebugValueLoc(DVR);
1791 valueCoversEntireFragment(DV->getType(), DVR));
1800 LLVM_DEBUG(dbgs() << "Failed to convert dbg.declare to dbg.value: " << *DVR
1848 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableRecord *DVR, LoadInst *LI,
1850 auto *DIVar = DVR->getVariable();
1851 auto *DIExpr = DVR->getExpression();
1854 if (!valueCoversEntireFragment(LI->getType(), DVR)) {
1859 << *DVR << '\n');
1863 DebugLoc NewLoc = getDebugValueLoc(DVR);
1888 void llvm::ConvertDebugDeclareToDebugValue(DbgVariableRecord *DVR, PHINode *APN,
1890 auto *DIVar = DVR->getVariable();
1891 auto *DIExpr = DVR->getExpression();
1897 if (!valueCoversEntireFragment(APN->getType(), DVR)) {
1902 << *DVR << '\n');
1909 DebugLoc NewLoc = getDebugValueLoc(DVR);
1931 for (DbgVariableRecord &DVR : filterDbgVars(BI.getDbgRecordRange())) {
1932 if (DVR.getType() == DbgVariableRecord::LocationType::Declare)
1933 DVRs.push_back(&DVR);
2019 for (DbgVariableRecord &DVR : filterDbgVars(I.getDbgRecordRange())) {
2020 for (Value *V : DVR.location_ops())
2022 DbgValueMap.insert({Loc, &DVR});
2162 DbgVariableRecord *DVR,
2181 assert(DVR);
2182 DVR->setExpression(DIExpr);
2183 DVR->replaceVariableLocationOp(0u, NewAddress);
2200 for (DbgVariableRecord *DVR : DPUsers)
2201 updateOneDbgValueForAlloca(DVR->getDebugLoc(), DVR->getVariable(),
2202 DVR->getExpression(), NewAllocaAddress, nullptr,
2203 DVR, Builder, Offset);
2320 for (auto *DVR : DPUsers) {
2321 if (DVR->isDbgAssign()) {
2322 if (DVR->getAddress() == &I) {
2323 salvageDbgAssignAddress(DVR);
2326 if (DVR->getValue() != &I)
2334 DVR->getType() != DbgVariableRecord::LocationType::Declare;
2335 auto DVRLocation = DVR->location_ops();
2340 // 'I' may appear more than once in DVR's location ops, and each use of 'I'
2345 DIExpression *SalvagedExpr = DVR->getExpression();
2364 DVR->replaceVariableLocationOp(&I, Op0);
2368 DVR->setExpression(SalvagedExpr);
2369 } else if (DVR->getType() != DbgVariableRecord::LocationType::Declare &&
2371 DVR->getNumVariableLocationOps() + AdditionalValues.size() <=
2373 DVR->addVariableLocationOps(AdditionalValues, SalvagedExpr);
2379 DVR->setKillLocation();
2381 LLVM_DEBUG(dbgs() << "SALVAGE: " << DVR << '\n');
2391 for (auto *DVR : DPUsers)
2392 DVR->setKillLocation();
2608 function_ref<DbgValReplacement(DbgVariableRecord &DVR)> RewriteDVRExpr) {
2640 for (auto *DVR : DPUsers) {
2641 Instruction *MarkedInstr = DVR->getMarker()->MarkedInstr;
2648 LLVM_DEBUG(dbgs() << "MOVE: " << *DVR << '\n');
2649 DVR->removeFromParent();
2651 DomPoint.getParent()->insertDbgRecordAfter(DVR, &DomPoint);
2654 UndefOrSalvageDVR.insert(DVR);
2673 for (auto *DVR : DPUsers) {
2674 if (UndefOrSalvageDVR.count(DVR))
2677 DbgValReplacement DVRepl = RewriteDVRExpr(*DVR);
2681 DVR->replaceVariableLocationOp(&From, &To);
2682 DVR->setExpression(*DVRepl);
2683 LLVM_DEBUG(dbgs() << "REWRITE: " << DVR << '\n');
2735 auto IdentityDVR = [&](DbgVariableRecord &DVR) -> DbgValReplacement {
2736 return DVR.getExpression();
2773 auto SignOrZeroExtDVR = [&](DbgVariableRecord &DVR) -> DbgValReplacement {
2774 DILocalVariable *Var = DVR.getVariable();
2782 return DIExpression::appendExt(DVR.getExpression(), ToBits, FromBits,
3613 for (auto *DVR : DPUsers)
3614 DVR->eraseFromParent();
3715 for (DbgVariableRecord &DVR : filterDbgVars(Inst->getDbgRecordRange())) {
3716 RemapDebugOperands(&DVR, DVR.location_ops());
3717 if (DVR.isDbgAssign())
3718 RemapAssignAddress(&DVR);