Switch this over to bitcode instead of bytecode.
[oota-llvm.git] / lib / Bytecode / Archive / ArchiveReader.cpp
index 209db77ee0093ac244c0b18c3f5969a7281e5d3c..c38389e2d7c08ef8753546051aaf8e8af72653df 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "ArchiveInternals.h"
-#include "llvm/Bytecode/Reader.h"
 #include "llvm/Bitcode/ReaderWriter.h"
-#include "llvm/Support/Compressor.h"
 #include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Module.h"
 #include <memory>
 using namespace llvm;
 
-static bool Bitcode = false;
-
 /// Read a variable-bit-rate encoded unsigned integer
 inline unsigned readInteger(const char*&At, const char*End){
   unsigned Shift = 0;
@@ -355,21 +352,12 @@ Archive::getAllModules(std::vector<Module*>& Modules, std::string* ErrMessage) {
     if (I->isBytecode() || I->isCompressedBytecode()) {
       std::string FullMemberName = archPath.toString() +
         "(" + I->getPath().toString() + ")";
-      Module *M;
+      MemoryBuffer *Buffer =
+        MemoryBuffer::getNewMemBuffer(I->getSize(), FullMemberName.c_str());
+      memcpy((char*)Buffer->getBufferStart(), I->getData(), I->getSize());
       
-      if (Bitcode) {
-        MemoryBuffer *Buffer =
-          MemoryBuffer::getNewMemBuffer(I->getSize(), FullMemberName.c_str());
-        memcpy((char*)Buffer->getBufferStart(), I->getData(), I->getSize());
-        
-        M = ParseBitcodeFile(Buffer, ErrMessage);
-        delete Buffer;
-      } else {
-        M = ParseBytecodeBuffer((const unsigned char*)I->getData(),
-                                I->getSize(), FullMemberName,
-                                Compressor::decompressToNewBuffer,
-                                ErrMessage);
-      }
+      Module *M = ParseBitcodeFile(Buffer, ErrMessage);
+      delete Buffer;
       if (!M)
         return true;
 
@@ -502,17 +490,11 @@ Archive::findModuleDefiningSymbol(const std::string& symbol,
   // Now, load the bytecode module to get the ModuleProvider
   std::string FullMemberName = archPath.toString() + "(" +
     mbr->getPath().toString() + ")";
-  ModuleProvider* mp;
-  if (Bitcode) {
-    MemoryBuffer *Buffer =MemoryBuffer::getNewMemBuffer(mbr->getSize(),
-                                                        FullMemberName.c_str());
-    memcpy((char*)Buffer->getBufferStart(), mbr->getData(), mbr->getSize());
-    
-    mp = getBitcodeModuleProvider(Buffer, ErrMsg);
-  } else
-    mp = getBytecodeBufferModuleProvider(
-      (const unsigned char*) mbr->getData(), mbr->getSize(),
-      FullMemberName, Decompressor, ErrMsg, 0);
+  MemoryBuffer *Buffer =MemoryBuffer::getNewMemBuffer(mbr->getSize(),
+                                                      FullMemberName.c_str());
+  memcpy((char*)Buffer->getBufferStart(), mbr->getData(), mbr->getSize());
+  
+  ModuleProvider *mp = getBitcodeModuleProvider(Buffer, ErrMsg);
   if (!mp)
     return 0;
 
@@ -560,8 +542,7 @@ Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
           mbr->getPath().toString() + ")";
         ModuleProvider* MP = 
           GetBytecodeSymbols((const unsigned char*)At, mbr->getSize(),
-                             FullMemberName, symbols, 
-                             Compressor::decompressToNewBuffer, error);
+                             FullMemberName, symbols, error);
 
         if (MP) {
           // Insert the module's symbols into the symbol table
@@ -636,18 +617,12 @@ bool Archive::isBytecodeArchive() {
     
     std::string FullMemberName = 
       archPath.toString() + "(" + I->getPath().toString() + ")";
-    Module *M;
-    
-    if (Bitcode) {
-      MemoryBuffer *Buffer =
-        MemoryBuffer::getNewMemBuffer(I->getSize(), FullMemberName.c_str());
-      memcpy((char*)Buffer->getBufferStart(), I->getData(), I->getSize());
-      M = ParseBitcodeFile(Buffer);
-      delete Buffer;
-    } else {
-      M = ParseBytecodeBuffer((const unsigned char*)I->getData(),
-                              I->getSize(), FullMemberName);
-    }
+
+    MemoryBuffer *Buffer =
+      MemoryBuffer::getNewMemBuffer(I->getSize(), FullMemberName.c_str());
+    memcpy((char*)Buffer->getBufferStart(), I->getData(), I->getSize());
+    Module *M = ParseBitcodeFile(Buffer);
+    delete Buffer;
     if (!M)
       return false;  // Couldn't parse bytecode, not a bytecode archive.
     delete M;