diff --git a/tools/llc/Makefile b/tools/llc/Makefile index 8514040cf27..7319aada489 100644 --- a/tools/llc/Makefile +++ b/tools/llc/Makefile @@ -15,7 +15,7 @@ TOOLNAME = llc # early so we can set up LINK_COMPONENTS before including Makefile.rules include $(LEVEL)/Makefile.config -LINK_COMPONENTS := $(TARGETS_TO_BUILD) bitreader +LINK_COMPONENTS := $(TARGETS_TO_BUILD) bitreader asmparser include $(LLVM_SRC_ROOT)/Makefile.rules diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 6ff97f3f5bc..8de49c08a7e 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -20,7 +20,7 @@ #include "llvm/Pass.h" #include "llvm/ADT/Triple.h" #include "llvm/Analysis/Verifier.h" -#include "llvm/Bitcode/ReaderWriter.h" +#include "llvm/Support/IRReader.h" #include "llvm/CodeGen/FileWriters.h" #include "llvm/CodeGen/LinkAllAsmWriterComponents.h" #include "llvm/CodeGen/LinkAllCodegenComponents.h" @@ -218,16 +218,12 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "llvm system compiler\n"); // Load the module to be compiled... - std::string ErrorMessage; + SMDiagnostic Err; std::auto_ptr M; - std::auto_ptr Buffer( - MemoryBuffer::getFileOrSTDIN(InputFilename, &ErrorMessage)); - if (Buffer.get()) - M.reset(ParseBitcodeFile(Buffer.get(), Context, &ErrorMessage)); + M.reset(ParseIRFile(InputFilename, Err, Context)); if (M.get() == 0) { - errs() << argv[0] << ": bitcode didn't read correctly.\n"; - errs() << "Reason: " << ErrorMessage << "\n"; + Err.Print(argv[0], errs()); return 1; } Module &mod = *M.get();