[ORC] Make ExecutorAddrDiff an alias for uint64_t.
authorLang Hames <lhames@gmail.com>
Mon, 3 Jan 2022 23:21:44 +0000 (10:21 +1100)
committerLang Hames <lhames@gmail.com>
Thu, 6 Jan 2022 02:48:11 +0000 (13:48 +1100)
We don't need to restrict operations on ExecutorAddrDiff as carefully as we do
for ExecutorAddr.

llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp

index 3c0b2b9..2d316b9 100644 (file)
 namespace llvm {
 namespace orc {
 
-/// 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 {
@@ -99,12 +89,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;
   }
 
@@ -121,13 +111,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.
index 0e8b7e7..9e32959 100644 (file)
@@ -85,7 +85,7 @@ struct WrapperFunctionCall {
         shared::CWrapperFunctionResult(const char *ArgData, size_t ArgSize);
     return shared::WrapperFunctionResult(
         Func.toPtr<FnTy *>()(ArgData.Start.toPtr<const char *>(),
-                             static_cast<size_t>(ArgData.size().getValue())));
+                             static_cast<size_t>(ArgData.size())));
   }
 
   /// Run call and deserialize result using SPS.
index 4c15e25..1f9d795 100644 (file)
@@ -120,8 +120,7 @@ llvm_orc_registerJITLoaderGDBWrapper(const char *Data, uint64_t Size) {
   return WrapperFunction<void(SPSExecutorAddrRange)>::handle(
              Data, Size,
              [](ExecutorAddrRange R) {
-               registerJITLoaderGDBImpl(R.Start.toPtr<char *>(),
-                                        R.size().getValue());
+               registerJITLoaderGDBImpl(R.Start.toPtr<char *>(), R.size());
              })
       .release();
 }