[llvm] r177971 - Split out the IRReader header and the utility functions it provides into

Eli Bendersky eliben at google.com
Tue Mar 26 09:51:25 PDT 2013


Excellent, thanks!


On Mon, Mar 25, 2013 at 7:25 PM, Chandler Carruth <chandlerc at gmail.com>wrote:

> Author: chandlerc
> Date: Mon Mar 25 21:25:37 2013
> New Revision: 177971
>
> URL: http://llvm.org/viewvc/llvm-project?rev=177971&view=rev
> Log:
> Split out the IRReader header and the utility functions it provides into
> its own library. These functions are bridging between the bitcode reader
> and the ll parser which are in different libraries. Previously we didn't
> have any good library to do this, and instead played fast and loose with
> a "header only" set of interfaces in the Support library. This really
> doesn't work well as evidenced by the recent attempt to add timing logic
> to the these routines.
>
> As part of this, make them normal functions rather than weird inline
> functions, and sink the implementation into the library. Also clean up
> the header to be nice and minimal.
>
> This requires updating lots of build system dependencies to specify that
> the IRReader library is needed, and several source files to not
> implicitly rely upon the header file to transitively include all manner
> of other headers.
>
> If you are using IRReader.h, this commit will break you (the header
> moved) and you'll need to also update your library usage to include
> 'irreader'. I will commit the corresponding change to Clang momentarily.
>
> Added:
>     llvm/trunk/include/llvm/IRReader/
>     llvm/trunk/include/llvm/IRReader/IRReader.h
>     llvm/trunk/lib/IRReader/
>     llvm/trunk/lib/IRReader/CMakeLists.txt
>     llvm/trunk/lib/IRReader/IRReader.cpp
>     llvm/trunk/lib/IRReader/LLVMBuild.txt
>       - copied, changed from r177968,
> llvm/trunk/tools/llvm-extract/LLVMBuild.txt
>     llvm/trunk/lib/IRReader/Makefile
>       - copied, changed from r177968, llvm/trunk/lib/Makefile
> Removed:
>     llvm/trunk/include/llvm/Support/IRReader.h
> Modified:
>     llvm/trunk/lib/CMakeLists.txt
>     llvm/trunk/lib/LLVMBuild.txt
>     llvm/trunk/lib/Makefile
>     llvm/trunk/tools/bugpoint/BugDriver.cpp
>     llvm/trunk/tools/bugpoint/CMakeLists.txt
>     llvm/trunk/tools/bugpoint/LLVMBuild.txt
>     llvm/trunk/tools/llc/CMakeLists.txt
>     llvm/trunk/tools/llc/LLVMBuild.txt
>     llvm/trunk/tools/llc/llc.cpp
>     llvm/trunk/tools/lli/CMakeLists.txt
>     llvm/trunk/tools/lli/LLVMBuild.txt
>     llvm/trunk/tools/lli/lli.cpp
>     llvm/trunk/tools/llvm-diff/CMakeLists.txt
>     llvm/trunk/tools/llvm-diff/LLVMBuild.txt
>     llvm/trunk/tools/llvm-diff/llvm-diff.cpp
>     llvm/trunk/tools/llvm-extract/CMakeLists.txt
>     llvm/trunk/tools/llvm-extract/LLVMBuild.txt
>     llvm/trunk/tools/llvm-extract/llvm-extract.cpp
>     llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt
>     llvm/trunk/tools/llvm-jitlistener/LLVMBuild.txt
>     llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp
>     llvm/trunk/tools/llvm-link/CMakeLists.txt
>     llvm/trunk/tools/llvm-link/LLVMBuild.txt
>     llvm/trunk/tools/llvm-link/llvm-link.cpp
>     llvm/trunk/tools/opt/CMakeLists.txt
>     llvm/trunk/tools/opt/LLVMBuild.txt
>     llvm/trunk/tools/opt/opt.cpp
>
> Added: llvm/trunk/include/llvm/IRReader/IRReader.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IRReader/IRReader.h?rev=177971&view=auto
>
> ==============================================================================
> --- llvm/trunk/include/llvm/IRReader/IRReader.h (added)
> +++ llvm/trunk/include/llvm/IRReader/IRReader.h Mon Mar 25 21:25:37 2013
> @@ -0,0 +1,55 @@
> +//===---- llvm/IRReader/IRReader.h - Reader for LLVM IR files ---*- C++
> -*-===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
>
> +//===----------------------------------------------------------------------===//
> +//
> +// This file defines functions for reading LLVM IR. They support both
> +// Bitcode and Assembly, automatically detecting the input format.
> +//
>
> +//===----------------------------------------------------------------------===//
> +
> +#ifndef LLVM_IRREADER_IRREADER_H
> +#define LLVM_IRREADER_IRREADER_H
> +
> +#include <string>
> +
> +namespace llvm {
> +
> +class Module;
> +class MemoryBuffer;
> +class SMDiagnostic;
> +class LLVMContext;
> +
> +/// If the given MemoryBuffer holds a bitcode image, return a Module for
> it
> +/// which does lazy deserialization of function bodies.  Otherwise,
> attempt to
> +/// parse it as LLVM Assembly and return a fully populated Module. This
> +/// function *always* takes ownership of the given MemoryBuffer.
> +Module *getLazyIRModule(MemoryBuffer *Buffer, SMDiagnostic &Err,
> +                        LLVMContext &Context);
> +
> +/// If the given file holds a bitcode image, return a Module
> +/// for it which does lazy deserialization of function bodies.  Otherwise,
> +/// attempt to parse it as LLVM Assembly and return a fully populated
> +/// Module.
> +Module *getLazyIRFileModule(const std::string &Filename, SMDiagnostic
> &Err,
> +                            LLVMContext &Context);
> +
> +/// If the given MemoryBuffer holds a bitcode image, return a Module
> +/// for it.  Otherwise, attempt to parse it as LLVM Assembly and return
> +/// a Module for it. This function *always* takes ownership of the given
> +/// MemoryBuffer.
> +Module *ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err, LLVMContext
> &Context);
> +
> +/// If the given file holds a bitcode image, return a Module for it.
> +/// Otherwise, attempt to parse it as LLVM Assembly and return a Module
> +/// for it.
> +Module *ParseIRFile(const std::string &Filename, SMDiagnostic &Err,
> +                    LLVMContext &Context);
> +
> +}
> +
> +#endif
>
> Removed: llvm/trunk/include/llvm/Support/IRReader.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/IRReader.h?rev=177970&view=auto
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/IRReader.h (original)
> +++ llvm/trunk/include/llvm/Support/IRReader.h (removed)
> @@ -1,112 +0,0 @@
> -//===---- llvm/Support/IRReader.h - Reader for LLVM IR files ----*- C++
> -*-===//
> -//
> -//                     The LLVM Compiler Infrastructure
> -//
> -// This file is distributed under the University of Illinois Open Source
> -// License. See LICENSE.TXT for details.
> -//
>
> -//===----------------------------------------------------------------------===//
> -//
> -// This file defines functions for reading LLVM IR. They support both
> -// Bitcode and Assembly, automatically detecting the input format.
> -//
> -// These functions must be defined in a header file in order to avoid
> -// library dependencies, since they reference both Bitcode and Assembly
> -// functions.
> -//
>
> -//===----------------------------------------------------------------------===//
> -
> -#ifndef LLVM_SUPPORT_IRREADER_H
> -#define LLVM_SUPPORT_IRREADER_H
> -
> -#include "llvm/ADT/OwningPtr.h"
> -#include "llvm/Assembly/Parser.h"
> -#include "llvm/Bitcode/ReaderWriter.h"
> -#include "llvm/Support/MemoryBuffer.h"
> -#include "llvm/Support/SourceMgr.h"
> -#include "llvm/Support/system_error.h"
> -
> -namespace llvm {
> -
> -  /// If the given MemoryBuffer holds a bitcode image, return a Module
> for it
> -  /// which does lazy deserialization of function bodies.  Otherwise,
> attempt to
> -  /// parse it as LLVM Assembly and return a fully populated Module. This
> -  /// function *always* takes ownership of the given MemoryBuffer.
> -  inline Module *getLazyIRModule(MemoryBuffer *Buffer,
> -                                 SMDiagnostic &Err,
> -                                 LLVMContext &Context) {
> -    if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
> -                  (const unsigned char *)Buffer->getBufferEnd())) {
> -      std::string ErrMsg;
> -      Module *M = getLazyBitcodeModule(Buffer, Context, &ErrMsg);
> -      if (M == 0) {
> -        Err = SMDiagnostic(Buffer->getBufferIdentifier(),
> SourceMgr::DK_Error,
> -                           ErrMsg);
> -        // ParseBitcodeFile does not take ownership of the Buffer in the
> -        // case of an error.
> -        delete Buffer;
> -      }
> -      return M;
> -    }
> -
> -    return ParseAssembly(Buffer, 0, Err, Context);
> -  }
> -
> -  /// If the given file holds a bitcode image, return a Module
> -  /// for it which does lazy deserialization of function bodies.
>  Otherwise,
> -  /// attempt to parse it as LLVM Assembly and return a fully populated
> -  /// Module.
> -  inline Module *getLazyIRFileModule(const std::string &Filename,
> -                                     SMDiagnostic &Err,
> -                                     LLVMContext &Context) {
> -    OwningPtr<MemoryBuffer> File;
> -    if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename.c_str(),
> File)) {
> -      Err = SMDiagnostic(Filename, SourceMgr::DK_Error,
> -                         "Could not open input file: " + ec.message());
> -      return 0;
> -    }
> -
> -    return getLazyIRModule(File.take(), Err, Context);
> -  }
> -
> -  /// If the given MemoryBuffer holds a bitcode image, return a Module
> -  /// for it.  Otherwise, attempt to parse it as LLVM Assembly and return
> -  /// a Module for it. This function *always* takes ownership of the given
> -  /// MemoryBuffer.
> -  inline Module *ParseIR(MemoryBuffer *Buffer,
> -                         SMDiagnostic &Err,
> -                         LLVMContext &Context) {
> -    if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
> -                  (const unsigned char *)Buffer->getBufferEnd())) {
> -      std::string ErrMsg;
> -      Module *M = ParseBitcodeFile(Buffer, Context, &ErrMsg);
> -      if (M == 0)
> -        Err = SMDiagnostic(Buffer->getBufferIdentifier(),
> SourceMgr::DK_Error,
> -                           ErrMsg);
> -      // ParseBitcodeFile does not take ownership of the Buffer.
> -      delete Buffer;
> -      return M;
> -    }
> -
> -    return ParseAssembly(Buffer, 0, Err, Context);
> -  }
> -
> -  /// If the given file holds a bitcode image, return a Module for it.
> -  /// Otherwise, attempt to parse it as LLVM Assembly and return a Module
> -  /// for it.
> -  inline Module *ParseIRFile(const std::string &Filename,
> -                             SMDiagnostic &Err,
> -                             LLVMContext &Context) {
> -    OwningPtr<MemoryBuffer> File;
> -    if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename.c_str(),
> File)) {
> -      Err = SMDiagnostic(Filename, SourceMgr::DK_Error,
> -                         "Could not open input file: " + ec.message());
> -      return 0;
> -    }
> -
> -    return ParseIR(File.take(), Err, Context);
> -  }
> -
> -}
> -
> -#endif
>
> Modified: llvm/trunk/lib/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/CMakeLists.txt (original)
> +++ llvm/trunk/lib/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,6 +1,7 @@
>  # `Support' and `TableGen' libraries are added on the top-level
> CMakeLists.txt
>
>  add_subdirectory(IR)
> +add_subdirectory(IRReader)
>  add_subdirectory(CodeGen)
>  add_subdirectory(Bitcode)
>  add_subdirectory(Transforms)
>
> Added: llvm/trunk/lib/IRReader/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IRReader/CMakeLists.txt?rev=177971&view=auto
>
> ==============================================================================
> --- llvm/trunk/lib/IRReader/CMakeLists.txt (added)
> +++ llvm/trunk/lib/IRReader/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -0,0 +1,3 @@
> +add_llvm_library(LLVMIRReader
> +  IRReader.cpp
> +  )
>
> Added: llvm/trunk/lib/IRReader/IRReader.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IRReader/IRReader.cpp?rev=177971&view=auto
>
> ==============================================================================
> --- llvm/trunk/lib/IRReader/IRReader.cpp (added)
> +++ llvm/trunk/lib/IRReader/IRReader.cpp Mon Mar 25 21:25:37 2013
> @@ -0,0 +1,78 @@
> +//===---- IRReader.cpp - Reader for LLVM IR files
> -------------------------===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
>
> +//===----------------------------------------------------------------------===//
> +
> +#include "llvm/IRReader/IRReader.h"
> +#include "llvm/ADT/OwningPtr.h"
> +#include "llvm/Assembly/Parser.h"
> +#include "llvm/Bitcode/ReaderWriter.h"
> +#include "llvm/Support/MemoryBuffer.h"
> +#include "llvm/Support/SourceMgr.h"
> +#include "llvm/Support/system_error.h"
> +
> +using namespace llvm;
> +
> +Module *llvm::getLazyIRModule(MemoryBuffer *Buffer, SMDiagnostic &Err,
> +                        LLVMContext &Context) {
> +  if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
> +                (const unsigned char *)Buffer->getBufferEnd())) {
> +    std::string ErrMsg;
> +    Module *M = getLazyBitcodeModule(Buffer, Context, &ErrMsg);
> +    if (M == 0) {
> +      Err = SMDiagnostic(Buffer->getBufferIdentifier(),
> SourceMgr::DK_Error,
> +                         ErrMsg);
> +      // ParseBitcodeFile does not take ownership of the Buffer in the
> +      // case of an error.
> +      delete Buffer;
> +    }
> +    return M;
> +  }
> +
> +  return ParseAssembly(Buffer, 0, Err, Context);
> +}
> +
> +Module *llvm::getLazyIRFileModule(const std::string &Filename,
> SMDiagnostic &Err,
> +                            LLVMContext &Context) {
> +  OwningPtr<MemoryBuffer> File;
> +  if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename.c_str(),
> File)) {
> +    Err = SMDiagnostic(Filename, SourceMgr::DK_Error,
> +                       "Could not open input file: " + ec.message());
> +    return 0;
> +  }
> +
> +  return getLazyIRModule(File.take(), Err, Context);
> +}
> +
> +Module *llvm::ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err,
> +                      LLVMContext &Context) {
> +  if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
> +                (const unsigned char *)Buffer->getBufferEnd())) {
> +    std::string ErrMsg;
> +    Module *M = ParseBitcodeFile(Buffer, Context, &ErrMsg);
> +    if (M == 0)
> +      Err = SMDiagnostic(Buffer->getBufferIdentifier(),
> SourceMgr::DK_Error,
> +                         ErrMsg);
> +    // ParseBitcodeFile does not take ownership of the Buffer.
> +    delete Buffer;
> +    return M;
> +  }
> +
> +  return ParseAssembly(Buffer, 0, Err, Context);
> +}
> +
> +Module *llvm::ParseIRFile(const std::string &Filename, SMDiagnostic &Err,
> +                          LLVMContext &Context) {
> +  OwningPtr<MemoryBuffer> File;
> +  if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename.c_str(),
> File)) {
> +    Err = SMDiagnostic(Filename, SourceMgr::DK_Error,
> +                       "Could not open input file: " + ec.message());
> +    return 0;
> +  }
> +
> +  return ParseIR(File.take(), Err, Context);
> +}
>
> Copied: llvm/trunk/lib/IRReader/LLVMBuild.txt (from r177968,
> llvm/trunk/tools/llvm-extract/LLVMBuild.txt)
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IRReader/LLVMBuild.txt?p2=llvm/trunk/lib/IRReader/LLVMBuild.txt&p1=llvm/trunk/tools/llvm-extract/LLVMBuild.txt&r1=177968&r2=177971&rev=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-extract/LLVMBuild.txt (original)
> +++ llvm/trunk/lib/IRReader/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -;===- ./tools/llvm-extract/LLVMBuild.txt -----------------------*- Conf
> -*--===;
> +;===- ./lib/AsmParser/LLVMBuild.txt ----------------------------*- Conf
> -*--===;
>  ;
>  ;                     The LLVM Compiler Infrastructure
>  ;
> @@ -16,7 +16,7 @@
>
>  ;===------------------------------------------------------------------------===;
>
>  [component_0]
> -type = Tool
> -name = llvm-extract
> -parent = Tools
> -required_libraries = AsmParser BitReader BitWriter IPO
> +type = Library
> +name = IRReader
> +parent = Libraries
> +required_libraries = AsmParser BitReader Core Support
>
> Copied: llvm/trunk/lib/IRReader/Makefile (from r177968,
> llvm/trunk/lib/Makefile)
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IRReader/Makefile?p2=llvm/trunk/lib/IRReader/Makefile&p1=llvm/trunk/lib/Makefile&r1=177968&r2=177971&rev=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Makefile (original)
> +++ llvm/trunk/lib/IRReader/Makefile Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -##===- lib/Makefile ----------------------------------------*- Makefile
> -*-===##
> +##===- lib/IRReader/Makefile -------------------------------*- Makefile
> -*-===##
>  #
>  #                     The LLVM Compiler Infrastructure
>  #
> @@ -6,12 +6,9 @@
>  # License. See LICENSE.TXT for details.
>  #
>
>  ##===----------------------------------------------------------------------===##
> -LEVEL = ..
>
> -include $(LEVEL)/Makefile.config
> -
> -PARALLEL_DIRS := IR AsmParser Bitcode Archive Analysis Transforms CodeGen
> \
> -                Target ExecutionEngine Linker MC Object Option DebugInfo
> +LEVEL = ../..
> +LIBRARYNAME := LLVMIRReader
> +BUILD_ARCHIVE = 1
>
>  include $(LEVEL)/Makefile.common
> -
>
> Modified: llvm/trunk/lib/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/LLVMBuild.txt (original)
> +++ llvm/trunk/lib/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -16,7 +16,7 @@
>
>  ;===------------------------------------------------------------------------===;
>
>  [common]
> -subdirectories = Analysis Archive AsmParser Bitcode CodeGen DebugInfo
> ExecutionEngine Linker IR MC Object Option Support TableGen Target
> Transforms
> +subdirectories = Analysis Archive AsmParser Bitcode CodeGen DebugInfo
> ExecutionEngine Linker IR IRReader MC Object Option Support TableGen Target
> Transforms
>
>  [component_0]
>  type = Group
>
> Modified: llvm/trunk/lib/Makefile
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Makefile?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Makefile (original)
> +++ llvm/trunk/lib/Makefile Mon Mar 25 21:25:37 2013
> @@ -11,7 +11,8 @@ LEVEL = ..
>  include $(LEVEL)/Makefile.config
>
>  PARALLEL_DIRS := IR AsmParser Bitcode Archive Analysis Transforms CodeGen
> \
> -                Target ExecutionEngine Linker MC Object Option DebugInfo
> +                 Target ExecutionEngine Linker MC Object Option DebugInfo
> \
> +                                                                IRReader
>
>  include $(LEVEL)/Makefile.common
>
>
> Modified: llvm/trunk/tools/bugpoint/BugDriver.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/BugDriver.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/bugpoint/BugDriver.cpp (original)
> +++ llvm/trunk/tools/bugpoint/BugDriver.cpp Mon Mar 25 21:25:37 2013
> @@ -16,12 +16,12 @@
>  #include "BugDriver.h"
>  #include "ToolRunner.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/Linker.h"
>  #include "llvm/Pass.h"
>  #include "llvm/Support/CommandLine.h"
>  #include "llvm/Support/FileUtilities.h"
>  #include "llvm/Support/Host.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/raw_ostream.h"
>  #include <memory>
>
> Modified: llvm/trunk/tools/bugpoint/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/bugpoint/CMakeLists.txt (original)
> +++ llvm/trunk/tools/bugpoint/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,5 +1,5 @@
>  set(LLVM_LINK_COMPONENTS asmparser instrumentation scalaropts ipo
> -  linker bitreader bitwriter vectorize objcarcopts)
> +  linker bitreader bitwriter irreader vectorize objcarcopts)
>
>  add_llvm_tool(bugpoint
>    BugDriver.cpp
>
> Modified: llvm/trunk/tools/bugpoint/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/bugpoint/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/bugpoint/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = bugpoint
>  parent = Tools
> -required_libraries = AsmParser BitReader BitWriter IPO Instrumentation
> Linker Scalar ObjCARC
> +required_libraries = AsmParser BitReader BitWriter IRReader IPO
> Instrumentation Linker Scalar ObjCARC
>
> Modified: llvm/trunk/tools/llc/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llc/CMakeLists.txt (original)
> +++ llvm/trunk/tools/llc/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser)
> +set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser
> irreader)
>
>  add_llvm_tool(llc
>    llc.cpp
>
> Modified: llvm/trunk/tools/llc/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llc/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/llc/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = llc
>  parent = Tools
> -required_libraries = AsmParser BitReader all-targets
> +required_libraries = AsmParser BitReader IRReader all-targets
>
> Modified: llvm/trunk/tools/llc/llc.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llc/llc.cpp (original)
> +++ llvm/trunk/tools/llc/llc.cpp Mon Mar 25 21:25:37 2013
> @@ -21,6 +21,7 @@
>  #include "llvm/CodeGen/LinkAllCodegenComponents.h"
>  #include "llvm/IR/DataLayout.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/MC/SubtargetFeature.h"
>  #include "llvm/Pass.h"
>  #include "llvm/PassManager.h"
> @@ -28,11 +29,11 @@
>  #include "llvm/Support/Debug.h"
>  #include "llvm/Support/FormattedStream.h"
>  #include "llvm/Support/Host.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/PluginLoader.h"
>  #include "llvm/Support/PrettyStackTrace.h"
>  #include "llvm/Support/Signals.h"
> +#include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/TargetRegistry.h"
>  #include "llvm/Support/TargetSelect.h"
>  #include "llvm/Support/ToolOutputFile.h"
>
> Modified: llvm/trunk/tools/lli/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/CMakeLists.txt (original)
> +++ llvm/trunk/tools/lli/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,5 +1,5 @@
>
> -set(LLVM_LINK_COMPONENTS mcjit jit interpreter nativecodegen bitreader
> asmparser selectiondag native)
> +set(LLVM_LINK_COMPONENTS mcjit jit interpreter nativecodegen bitreader
> asmparser irreader selectiondag native)
>
>  if( LLVM_USE_OPROFILE )
>    set(LLVM_LINK_COMPONENTS
>
> Modified: llvm/trunk/tools/lli/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/lli/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = lli
>  parent = Tools
> -required_libraries = AsmParser BitReader Interpreter JIT MCJIT
> NativeCodeGen SelectionDAG Native
> +required_libraries = AsmParser BitReader IRReader Interpreter JIT MCJIT
> NativeCodeGen SelectionDAG Native
>
> Modified: llvm/trunk/tools/lli/lli.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lli/lli.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/lli/lli.cpp (original)
> +++ llvm/trunk/tools/lli/lli.cpp Mon Mar 25 21:25:37 2013
> @@ -29,11 +29,11 @@
>  #include "llvm/ExecutionEngine/SectionMemoryManager.h"
>  #include "llvm/IR/Module.h"
>  #include "llvm/IR/Type.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/Support/CommandLine.h"
>  #include "llvm/Support/Debug.h"
>  #include "llvm/Support/DynamicLibrary.h"
>  #include "llvm/Support/Format.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/MathExtras.h"
>  #include "llvm/Support/Memory.h"
> @@ -42,6 +42,7 @@
>  #include "llvm/Support/PrettyStackTrace.h"
>  #include "llvm/Support/Process.h"
>  #include "llvm/Support/Signals.h"
> +#include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/TargetSelect.h"
>  #include "llvm/Support/raw_ostream.h"
>  #include <cerrno>
>
> Modified: llvm/trunk/tools/llvm-diff/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-diff/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-diff/CMakeLists.txt (original)
> +++ llvm/trunk/tools/llvm-diff/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -set(LLVM_LINK_COMPONENTS support asmparser bitreader)
> +set(LLVM_LINK_COMPONENTS support asmparser bitreader irreader)
>
>  add_llvm_tool(llvm-diff
>    llvm-diff.cpp
>
> Modified: llvm/trunk/tools/llvm-diff/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-diff/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-diff/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/llvm-diff/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = llvm-diff
>  parent = Tools
> -required_libraries = AsmParser BitReader
> +required_libraries = AsmParser BitReader IRReader
>
> Modified: llvm/trunk/tools/llvm-diff/llvm-diff.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-diff/llvm-diff.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-diff/llvm-diff.cpp (original)
> +++ llvm/trunk/tools/llvm-diff/llvm-diff.cpp Mon Mar 25 21:25:37 2013
> @@ -19,8 +19,8 @@
>  #include "llvm/IR/LLVMContext.h"
>  #include "llvm/IR/Module.h"
>  #include "llvm/IR/Type.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/Support/CommandLine.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/MemoryBuffer.h"
>  #include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/raw_ostream.h"
>
> Modified: llvm/trunk/tools/llvm-extract/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-extract/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-extract/CMakeLists.txt (original)
> +++ llvm/trunk/tools/llvm-extract/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -set(LLVM_LINK_COMPONENTS asmparser ipo bitreader bitwriter)
> +set(LLVM_LINK_COMPONENTS asmparser ipo bitreader bitwriter irreader)
>
>  add_llvm_tool(llvm-extract
>    llvm-extract.cpp
>
> Modified: llvm/trunk/tools/llvm-extract/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-extract/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-extract/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/llvm-extract/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = llvm-extract
>  parent = Tools
> -required_libraries = AsmParser BitReader BitWriter IPO
> +required_libraries = AsmParser BitReader BitWriter IRReader IPO
>
> Modified: llvm/trunk/tools/llvm-extract/llvm-extract.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-extract/llvm-extract.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-extract/llvm-extract.cpp (original)
> +++ llvm/trunk/tools/llvm-extract/llvm-extract.cpp Mon Mar 25 21:25:37 2013
> @@ -19,13 +19,14 @@
>  #include "llvm/Bitcode/ReaderWriter.h"
>  #include "llvm/IR/DataLayout.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/PassManager.h"
>  #include "llvm/Support/CommandLine.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/PrettyStackTrace.h"
>  #include "llvm/Support/Regex.h"
>  #include "llvm/Support/Signals.h"
> +#include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/SystemUtils.h"
>  #include "llvm/Support/ToolOutputFile.h"
>  #include "llvm/Transforms/IPO.h"
>
> Modified: llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt (original)
> +++ llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt Mon Mar 25 21:25:37
> 2013
> @@ -9,6 +9,7 @@ set(LLVM_LINK_COMPONENTS
>    debuginfo
>    inteljitevents
>    interpreter
> +  irreader
>    jit
>    mcjit
>    nativecodegen
>
> Modified: llvm/trunk/tools/llvm-jitlistener/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-jitlistener/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-jitlistener/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/llvm-jitlistener/LLVMBuild.txt Mon Mar 25 21:25:37
> 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = llvm-jitlistener
>  parent = Tools
> -required_libraries = AsmParser BitReader Interpreter JIT MCJIT
> NativeCodeGen Object SelectionDAG Native
> +required_libraries = AsmParser BitReader IRReader Interpreter JIT MCJIT
> NativeCodeGen Object SelectionDAG Native
>
> Modified: llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp (original)
> +++ llvm/trunk/tools/llvm-jitlistener/llvm-jitlistener.cpp Mon Mar 25
> 21:25:37 2013
> @@ -22,9 +22,9 @@
>  #include "llvm/ExecutionEngine/MCJIT.h"
>  #include "llvm/ExecutionEngine/ObjectImage.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/Support/CommandLine.h"
>  #include "llvm/Support/Host.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/MemoryBuffer.h"
>  #include "llvm/Support/PrettyStackTrace.h"
>
> Modified: llvm/trunk/tools/llvm-link/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-link/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-link/CMakeLists.txt (original)
> +++ llvm/trunk/tools/llvm-link/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -set(LLVM_LINK_COMPONENTS linker bitreader bitwriter asmparser)
> +set(LLVM_LINK_COMPONENTS linker bitreader bitwriter asmparser irreader)
>
>  add_llvm_tool(llvm-link
>    llvm-link.cpp
>
> Modified: llvm/trunk/tools/llvm-link/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-link/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-link/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/llvm-link/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = llvm-link
>  parent = Tools
> -required_libraries = AsmParser BitReader BitWriter Linker
> +required_libraries = AsmParser BitReader BitWriter IRReader Linker
>
> Modified: llvm/trunk/tools/llvm-link/llvm-link.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-link/llvm-link.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-link/llvm-link.cpp (original)
> +++ llvm/trunk/tools/llvm-link/llvm-link.cpp Mon Mar 25 21:25:37 2013
> @@ -17,12 +17,13 @@
>  #include "llvm/Bitcode/ReaderWriter.h"
>  #include "llvm/IR/LLVMContext.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/Support/CommandLine.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/Path.h"
>  #include "llvm/Support/PrettyStackTrace.h"
>  #include "llvm/Support/Signals.h"
> +#include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/SystemUtils.h"
>  #include "llvm/Support/ToolOutputFile.h"
>  #include <memory>
>
> Modified: llvm/trunk/tools/opt/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/CMakeLists.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/opt/CMakeLists.txt (original)
> +++ llvm/trunk/tools/opt/CMakeLists.txt Mon Mar 25 21:25:37 2013
> @@ -1,4 +1,4 @@
> -set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser
> bitwriter instrumentation scalaropts objcarcopts ipo vectorize)
> +set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser
> bitwriter irreader instrumentation scalaropts objcarcopts ipo vectorize)
>
>  add_llvm_tool(opt
>    AnalysisWrappers.cpp
>
> Modified: llvm/trunk/tools/opt/LLVMBuild.txt
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/LLVMBuild.txt?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/opt/LLVMBuild.txt (original)
> +++ llvm/trunk/tools/opt/LLVMBuild.txt Mon Mar 25 21:25:37 2013
> @@ -19,4 +19,4 @@
>  type = Tool
>  name = opt
>  parent = Tools
> -required_libraries = AsmParser BitReader BitWriter IPO Instrumentation
> Scalar ObjCARC all-targets
> +required_libraries = AsmParser BitReader BitWriter IRReader IPO
> Instrumentation Scalar ObjCARC all-targets
>
> Modified: llvm/trunk/tools/opt/opt.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=177971&r1=177970&r2=177971&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/opt/opt.cpp (original)
> +++ llvm/trunk/tools/opt/opt.cpp Mon Mar 25 21:25:37 2013
> @@ -26,17 +26,18 @@
>  #include "llvm/DebugInfo.h"
>  #include "llvm/IR/DataLayout.h"
>  #include "llvm/IR/Module.h"
> +#include "llvm/IRReader/IRReader.h"
>  #include "llvm/LinkAllIR.h"
>  #include "llvm/LinkAllPasses.h"
>  #include "llvm/MC/SubtargetFeature.h"
>  #include "llvm/PassManager.h"
>  #include "llvm/Support/Debug.h"
> -#include "llvm/Support/IRReader.h"
>  #include "llvm/Support/ManagedStatic.h"
>  #include "llvm/Support/PassNameParser.h"
>  #include "llvm/Support/PluginLoader.h"
>  #include "llvm/Support/PrettyStackTrace.h"
>  #include "llvm/Support/Signals.h"
> +#include "llvm/Support/SourceMgr.h"
>  #include "llvm/Support/SystemUtils.h"
>  #include "llvm/Support/TargetRegistry.h"
>  #include "llvm/Support/TargetSelect.h"
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130326/aa65bddf/attachment.html>


More information about the llvm-commits mailing list