Lines Matching refs:DV
462 DIE *DwarfCompileUnit::constructVariableDIE(DbgVariable &DV, bool Abstract) { in constructVariableDIE() argument
463 auto D = constructVariableDIEImpl(DV, Abstract); in constructVariableDIE()
464 DV.setDIE(*D); in constructVariableDIE()
468 DIE *DwarfCompileUnit::constructVariableDIEImpl(const DbgVariable &DV, in constructVariableDIEImpl() argument
471 auto VariableDie = DIE::get(DIEValueAllocator, DV.getTag()); in constructVariableDIEImpl()
474 applyVariableAttributes(DV, *VariableDie); in constructVariableDIEImpl()
480 unsigned Offset = DV.getDebugLocListIndex(); in constructVariableDIEImpl()
487 if (const MachineInstr *DVInsn = DV.getMInsn()) { in constructVariableDIEImpl()
495 addVariableAddress(DV, *VariableDie, Location); in constructVariableDIEImpl()
497 addVariableAddress(DV, *VariableDie, MachineLocation(RegOp.getReg())); in constructVariableDIEImpl()
499 addConstantValue(*VariableDie, DVInsn->getOperand(0), DV.getType()); in constructVariableDIEImpl()
504 DV.getType()); in constructVariableDIEImpl()
510 if (DV.getFrameIndex().empty()) in constructVariableDIEImpl()
513 auto Expr = DV.getExpression().begin(); in constructVariableDIEImpl()
516 for (auto FI : DV.getFrameIndex()) { in constructVariableDIEImpl()
520 assert(Expr != DV.getExpression().end() && in constructVariableDIEImpl()
531 DIE *DwarfCompileUnit::constructVariableDIE(DbgVariable &DV, in constructVariableDIE() argument
534 auto Var = constructVariableDIE(DV, Scope.isAbstractScope()); in constructVariableDIE()
535 if (DV.isObjectPointer()) in constructVariableDIE()
545 for (DbgVariable *DV : DU->getScopeVariables().lookup(Scope)) in createScopeChildrenDIE()
546 Children.push_back(constructVariableDIE(*DV, *Scope, ObjectPointer)); in createScopeChildrenDIE()
691 for (const DILocalVariable *DV : Variables) { in collectDeadVariables() local
692 DbgVariable NewVar(DV, /* IA */ nullptr, DD); in collectDeadVariables()
729 void DwarfCompileUnit::addVariableAddress(const DbgVariable &DV, DIE &Die, in addVariableAddress() argument
731 if (DV.hasComplexAddress()) in addVariableAddress()
732 addComplexAddress(DV, Die, dwarf::DW_AT_location, Location); in addVariableAddress()
733 else if (DV.isBlockByrefVariable()) in addVariableAddress()
734 addBlockByrefAddress(DV, Die, dwarf::DW_AT_location, Location); in addVariableAddress()
761 void DwarfCompileUnit::addComplexAddress(const DbgVariable &DV, DIE &Die, in addComplexAddress() argument
766 assert(DV.getExpression().size() == 1); in addComplexAddress()
767 const DIExpression *Expr = DV.getExpression().back(); in addComplexAddress()