Lines Matching defs:RegNum
68 uint32_t RegNum; /// The register number for Kind == RegPlusOffset.
80 : Kind(K), RegNum(InvalidRegisterNumber), Offset(0),
85 : Kind(K), RegNum(Reg), Offset(Off), AddrSpace(AS), Dereference(Deref) {}
88 : Kind(DWARFExpr), RegNum(InvalidRegisterNumber), Offset(0), Expr(E),
132 uint32_t getRegister() const { return RegNum; }
142 void setRegister(uint32_t NewRegNum) { RegNum = NewRegNum; }
186 /// Return the location for the register in \a RegNum if there is a location.
188 /// \param RegNum the register number to find a location for.
190 /// \returns A location if one is available for \a RegNum, or std::nullopt
192 std::optional<UnwindLocation> getRegisterLocation(uint32_t RegNum) const {
193 auto Pos = Locations.find(RegNum);
199 /// Set the location for the register in \a RegNum to \a Location.
201 /// \param RegNum the register number to set the location for.
204 void setRegisterLocation(uint32_t RegNum, const UnwindLocation &Location) {
205 Locations.erase(RegNum);
206 Locations.insert(std::make_pair(RegNum, Location));
209 /// Removes any rule for the register in \a RegNum.
211 /// \param RegNum the register number to remove the location for.
212 void removeRegisterLocation(uint32_t RegNum) { Locations.erase(RegNum); }