Add a default relocation type, and allow clients to set the ConstantVal
authorNate Begeman <natebegeman@mac.com>
Mon, 11 Dec 2006 02:19:29 +0000 (02:19 +0000)
committerNate Begeman <natebegeman@mac.com>
Mon, 11 Dec 2006 02:19:29 +0000 (02:19 +0000)
field after creation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32429 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineRelocation.h

index 03dafc1112d3342266e0e87f3ff44814eabb825b..65a1f10fe3185f0e5fd8ea1634c06c48ca609607 100644 (file)
@@ -68,6 +68,13 @@ class MachineRelocation {
   bool GOTRelative        : 1; // Should this relocation be relative to the GOT?
 
 public:
+ // Relocation types used in a generic implementation.  Currently, relocation
+ // entries for all things use the generic VANILLA type until they are refined
+ // into target relocation types.
+  enum RelocationType {
+    VANILLA
+  };
+  
   /// MachineRelocation::getGV - Return a relocation entry for a GlobalValue.
   ///
   static MachineRelocation getGV(intptr_t offset, unsigned RelocationType, 
@@ -173,6 +180,13 @@ public:
     return ConstantVal;
   }
 
+  /// setConstantVal - Set the constant value associated with this relocation.
+  /// This is often an offset from the symbol.
+  ///
+  void setConstantVal(intptr_t val) {
+    ConstantVal = val;
+  }
+
   /// isGlobalValue - Return true if this relocation is a GlobalValue, as
   /// opposed to a constant string.
   bool isGlobalValue() const {