Simplify the ComputeLinearIndex logic and fix a few bugs.
[oota-llvm.git] / lib / Debugger / Debugger.cpp
index a0505bda578a69d0ba2ad9f3e0c1014767a17e92..78f48f6f731adba759d59d7d194f2525c1bf3b41 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -14,8 +14,9 @@
 #include "llvm/Debugger/Debugger.h"
 #include "llvm/Module.h"
 #include "llvm/ModuleProvider.h"
-#include "llvm/Bytecode/Reader.h"
+#include "llvm/Bitcode/ReaderWriter.h"
 #include "llvm/Debugger/InferiorProcess.h"
+#include "llvm/Support/MemoryBuffer.h"
 #include "llvm/ADT/StringExtras.h"
 #include <memory>
 using namespace llvm;
@@ -45,15 +46,11 @@ std::string Debugger::getProgramPath() const {
 
 static Module *
 getMaterializedModuleProvider(const std::string &Filename) {
-  try {
-    std::auto_ptr<ModuleProvider> Result(getBytecodeModuleProvider(Filename));
-    if (!Result.get()) return 0;
-
-    Result->materializeModule();
-    return Result.release()->releaseModule();
-  } catch (...) {
-    return 0;
-  }
+  std::auto_ptr<MemoryBuffer> Buffer;
+  Buffer.reset(MemoryBuffer::getFileOrSTDIN(Filename.c_str()));
+  if (Buffer.get())
+    return ParseBitcodeFile(Buffer.get());
+  return 0;
 }
 
 /// loadProgram - If a program is currently loaded, unload it.  Then search