Lines Matching defs:UserValue

289 class UserValue {
297 UserValue *leader; ///< Equivalence class leader.
298 UserValue *next = nullptr; ///< Next value in equivalence class, or null.
325 /// Create a new UserValue.
326 UserValue(const DILocalVariable *var,
333 UserValue *getLeader() {
334 UserValue *l = leader;
340 /// Return the next UserValue in the equivalence class.
341 UserValue *getNext() const { return next; }
344 static UserValue *merge(UserValue *L1, UserValue *L2) {
352 UserValue *End = L2;
496 /// Return DebugLoc of this UserValue.
583 /// All allocated UserValue instances.
584 SmallVector<std::unique_ptr<UserValue>, 8> userValues;
590 using VRMap = DenseMap<unsigned, UserValue *>;
593 /// Map to find existing UserValue instances.
594 using UVMap = DenseMap<DebugVariable, UserValue *>;
597 /// Find or create a UserValue.
598 UserValue *getUserValue(const DILocalVariable *Var,
603 UserValue *lookupVirtReg(Register VirtReg);
634 /// Collect and erase all DBG_VALUE instructions, adding a UserValue def
671 void mapVirtReg(Register VirtReg, UserValue *EC);
734 void UserValue::print(raw_ostream &OS, const TargetRegisterInfo *TRI) {
776 void UserValue::mapVirtRegs(LiveDebugVariables::LDVImpl *LDV) {
782 UserValue *LiveDebugVariables::LDVImpl::getUserValue(
788 UserValue *&UV = userVarMap[ID];
791 std::make_unique<UserValue>(Var, Fragment, DL, allocator));
797 void LiveDebugVariables::LDVImpl::mapVirtReg(Register VirtReg, UserValue *EC) {
799 UserValue *&Leader = virtRegToEqClass[VirtReg];
800 Leader = UserValue::merge(Leader, EC);
803 UserValue *LiveDebugVariables::LDVImpl::lookupVirtReg(Register VirtReg) {
804 if (UserValue *UV = virtRegToEqClass.lookup(VirtReg))
860 // Get or create the UserValue for (variable,offset) here.
868 UserValue *UV = getUserValue(Var, Expr->getFragmentInfo(), MI.getDebugLoc());
972 void UserValue::extendDef(
1026 void UserValue::addDefsFromCopies(
1115 void UserValue::computeIntervals(MachineRegisterInfo &MRI,
1379 UserValue::splitLocation(unsigned OldLocNo, ArrayRef<Register> NewRegs,
1479 UserValue::splitRegister(Register OldReg, ArrayRef<Register> NewRegs,
1541 for (UserValue *UV = lookupVirtReg(OldReg); UV; UV = UV->getNext())
1548 UserValue *UV = lookupVirtReg(OldReg);
1559 void UserValue::rewriteLocations(VirtRegMap &VRM, const MachineFunction &MF,
1709 void UserValue::insertDebugValue(MachineBasicBlock *MBB, SlotIndex StartIdx,
1791 void UserValue::emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,