Lines Matching defs:UnwindLocation
36 class UnwindLocation {
79 UnwindLocation(Location K)
83 UnwindLocation(Location K, uint32_t Reg, int32_t Off,
87 UnwindLocation(DWARFExpression E, bool Deref)
95 static UnwindLocation createUnspecified();
98 static UnwindLocation createUndefined();
100 static UnwindLocation createSame();
108 static UnwindLocation createIsCFAPlusOffset(int32_t Off);
109 static UnwindLocation createAtCFAPlusOffset(int32_t Off);
118 static UnwindLocation
121 static UnwindLocation
127 static UnwindLocation createIsDWARFExpression(DWARFExpression Expr);
128 static UnwindLocation createAtDWARFExpression(DWARFExpression Expr);
129 static UnwindLocation createIsConstant(int32_t Value);
169 bool operator==(const UnwindLocation &RHS) const;
172 raw_ostream &operator<<(raw_ostream &OS, const UnwindLocation &R);
177 /// the value is a UnwindLocation.
183 std::map<uint32_t, UnwindLocation> Locations;
192 std::optional<UnwindLocation> getRegisterLocation(uint32_t RegNum) const {
203 /// \param Location the UnwindLocation that describes how to unwind the value.
204 void setRegisterLocation(uint32_t RegNum, const UnwindLocation &Location) {
259 UnwindLocation CFAValue; ///< How to unwind the Call Frame Address (CFA).
263 UnwindRow() : CFAValue(UnwindLocation::createUnspecified()) {}
287 UnwindLocation &getCFAValue() { return CFAValue; }
288 const UnwindLocation &getCFAValue() const { return CFAValue; }