Don't use a potentially expensive shift if all we want is one set bit.
[oota-llvm.git] / tools / llvm-objdump / llvm-objdump.h
index 9f5a8c3db973892239cbd56b879e2130618903e5..87f19ba257b93735e2697284be793f0da335417f 100644 (file)
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/DataTypes.h"
-#include "llvm/Support/MemoryObject.h"
+#include "llvm/Support/StringRefMemoryObject.h"
 
 namespace llvm {
 
 namespace object {
   class COFFObjectFile;
+  class ObjectFile;
   class RelocationRef;
 }
 class error_code;
@@ -32,23 +33,7 @@ bool RelocAddressLess(object::RelocationRef a, object::RelocationRef b);
 void DumpBytes(StringRef bytes);
 void DisassembleInputMachO(StringRef Filename);
 void printCOFFUnwindInfo(const object::COFFObjectFile* o);
-
-class StringRefMemoryObject : public MemoryObject {
-  virtual void anchor();
-  StringRef Bytes;
-public:
-  StringRefMemoryObject(StringRef bytes) : Bytes(bytes) {}
-
-  uint64_t getBase() const { return 0; }
-  uint64_t getExtent() const { return Bytes.size(); }
-
-  int readByte(uint64_t Addr, uint8_t *Byte) const {
-    if (Addr >= getExtent())
-      return -1;
-    *Byte = Bytes[Addr];
-    return 0;
-  }
-};
+void printELFFileHeader(const object::ObjectFile *o);
 
 }