|  | //===- subzero/src/IceCompiler.h - Compiler driver --------------*- C++ -*-===// | 
|  | // | 
|  | //                        The Subzero Code Generator | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  | /// | 
|  | /// \file | 
|  | /// \brief Declares the driver for translating bitcode to native code. | 
|  | /// | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef SUBZERO_SRC_ICECOMPILER_H | 
|  | #define SUBZERO_SRC_ICECOMPILER_H | 
|  |  | 
|  | #include "IceDefs.h" | 
|  |  | 
|  | namespace llvm { | 
|  | class DataStreamer; | 
|  | } | 
|  |  | 
|  | namespace Ice { | 
|  |  | 
|  | class ClFlags; | 
|  |  | 
|  | /// A compiler driver. It may be called to handle a single compile request. | 
|  | class Compiler { | 
|  | Compiler(const Compiler &) = delete; | 
|  | Compiler &operator=(const Compiler &) = delete; | 
|  |  | 
|  | public: | 
|  | Compiler() = default; | 
|  |  | 
|  | /// Run the compiler with the given GlobalContext for compilation state. Upon | 
|  | /// error, the Context's error status will be set. | 
|  | void run(const ClFlags &ExtraFlags, GlobalContext &Ctx, | 
|  | std::unique_ptr<llvm::DataStreamer> &&InputStream); | 
|  | }; | 
|  |  | 
|  | } // end of namespace Ice | 
|  |  | 
|  | #endif // SUBZERO_SRC_ICECOMPILER_H |