[ORC-RT] Make ExecutorAddrDiff an alias for uint64_t.

Unlike ExecutorAddr, there's limited value to having a distinct type for
ExecutorAddrDiff, and it's occasionally awkward to work with. The corresponding
LLVM type (llvm::orc::ExecutorAddrDiff) was already made a type-alias in
9e2cfb061a.
This commit is contained in:
Lang Hames
2022-09-15 19:06:16 -07:00
parent d6aed77f0d
commit 4c43483186

View File

@@ -24,17 +24,7 @@
namespace __orc_rt {
/// Represents the difference between two addresses in the executor process.
class ExecutorAddrDiff {
public:
ExecutorAddrDiff() = default;
explicit ExecutorAddrDiff(uint64_t Value) : Value(Value) {}
uint64_t getValue() const { return Value; }
private:
int64_t Value = 0;
};
using ExecutorAddrDiff = uint64_t;
/// Represents an address in the executor process.
class ExecutorAddr {
@@ -148,12 +138,12 @@ public:
ExecutorAddr operator--(int) { return ExecutorAddr(Addr++); }
ExecutorAddr &operator+=(const ExecutorAddrDiff Delta) {
Addr += Delta.getValue();
Addr += Delta;
return *this;
}
ExecutorAddr &operator-=(const ExecutorAddrDiff Delta) {
Addr -= Delta.getValue();
Addr -= Delta;
return *this;
}
@@ -170,13 +160,13 @@ inline ExecutorAddrDiff operator-(const ExecutorAddr &LHS,
/// Adding an offset and an address yields an address.
inline ExecutorAddr operator+(const ExecutorAddr &LHS,
const ExecutorAddrDiff &RHS) {
return ExecutorAddr(LHS.getValue() + RHS.getValue());
return ExecutorAddr(LHS.getValue() + RHS);
}
/// Adding an address and an offset yields an address.
inline ExecutorAddr operator+(const ExecutorAddrDiff &LHS,
const ExecutorAddr &RHS) {
return ExecutorAddr(LHS.getValue() + RHS.getValue());
return ExecutorAddr(LHS + RHS.getValue());
}
/// Represents an address range in the exceutor process.
@@ -204,9 +194,9 @@ struct ExecutorAddrRange {
}
template <typename T> span<T> toSpan() const {
assert(size().getValue() % sizeof(T) == 0 &&
assert(size() % sizeof(T) == 0 &&
"AddressRange is not a multiple of sizeof(T)");
return span<T>(Start.toPtr<T *>(), size().getValue() / sizeof(T));
return span<T>(Start.toPtr<T *>(), size() / sizeof(T));
}
ExecutorAddr Start;