Add some comments explaining what MVT and EVT are, and how they differ.
[oota-llvm.git] / include / llvm / CodeGen / ObjectCodeEmitter.h
index 4ed061609bcde6d6729ca5aa387c08e1e80d5024..d46628caae792117b30e7f6b44672c4c310d488f 100644 (file)
@@ -81,7 +81,7 @@ public:
   /// written to the data stream in big-endian format.
   void emitDWordBE(uint64_t W);
 
-  /// emitAlignment - Move the CurBufferPtr pointer up the the specified
+  /// emitAlignment - Move the CurBufferPtr pointer up to the specified
   /// alignment (saturated to BufferEnd of course).
   void emitAlignment(unsigned Alignment = 0, uint8_t fill = 0);
 
@@ -109,6 +109,13 @@ public:
   /// noted with this interface.
   void addRelocation(const MachineRelocation& relocation);
 
+  /// earlyResolveAddresses - True if the code emitter can use symbol addresses 
+  /// during code emission time. The JIT is capable of doing this because it
+  /// creates jump tables or constant pools in memory on the fly while the
+  /// object code emitters rely on a linker to have real addresses and should
+  /// use relocations instead.
+  bool earlyResolveAddresses() const { return false; }
+
   /// startFunction - This callback is invoked when the specified function is
   /// about to be code generated.  This initializes the BufferBegin/End/Ptr
   /// fields.
@@ -130,13 +137,6 @@ public:
   /// emitted.
   virtual uintptr_t getMachineBasicBlockAddress(MachineBasicBlock *MBB) const;
 
-  /// emitLabel - Emits a label
-  virtual void emitLabel(uint64_t LabelID) = 0;
-
-  /// getLabelAddress - Return the address of the specified LabelID, only usable
-  /// after the LabelID has been emitted.
-  virtual uintptr_t getLabelAddress(uint64_t LabelID) const = 0;
-
   /// emitJumpTables - Emit all the jump tables for a given jump table info
   /// record to the appropriate section.
   virtual void emitJumpTables(MachineJumpTableInfo *MJTI) = 0;