From 2cb1ad92d1b2d6e77200995685ccabf39673f1b6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 6 May 2007 05:18:53 +0000 Subject: [PATCH] teach this to read from bitcode files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36843 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Debugger/Debugger.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/Debugger/Debugger.cpp b/lib/Debugger/Debugger.cpp index 613a19d2f3f..90741afc8e0 100644 --- a/lib/Debugger/Debugger.cpp +++ b/lib/Debugger/Debugger.cpp @@ -15,11 +15,15 @@ #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 using namespace llvm; +static bool Bitcode = false; + /// Debugger constructor - Initialize the debugger to its initial, empty, state. /// Debugger::Debugger() : Environment(0), Program(0), Process(0) { @@ -45,7 +49,15 @@ std::string Debugger::getProgramPath() const { static Module * getMaterializedModuleProvider(const std::string &Filename) { - return ParseBytecodeFile(Filename); + if (Bitcode) { + return ParseBytecodeFile(Filename); + } else { + std::auto_ptr Buffer; + Buffer.reset(MemoryBuffer::getFileOrSTDIN(&Filename[0], Filename.size())); + if (Buffer.get()) + return ParseBitcodeFile(Buffer.get()); + return 0; + } } /// loadProgram - If a program is currently loaded, unload it. Then search -- 2.34.1