blob: 87284fab1ee369f202c7dcc7f48410c745fb6fbc [file] [log] [blame]
Karl Schimpf8d7abae2014-07-07 14:50:30 -07001//===- subzero/src/PNaClTranslator.h - ICE from bitcode ---------*- C++ -*-===//
2//
3// The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file declares the PNaCl bitcode file to ICE, to machine code
11// translator.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef SUBZERO_SRC_PNACLTRANSLATOR_H
16#define SUBZERO_SRC_PNACLTRANSLATOR_H
17
18#include "IceTranslator.h"
19#include <string>
20
21namespace Ice {
22
23class PNaClTranslator : public Translator {
24public:
Karl Schimpfd6064a12014-08-27 15:34:58 -070025 PNaClTranslator(GlobalContext *Ctx, const ClFlags &Flags)
26 : Translator(Ctx, Flags) {}
Karl Schimpf8d7abae2014-07-07 14:50:30 -070027 // Reads the PNaCl bitcode file and translates to ICE, which is then
Karl Schimpfb164d202014-07-11 10:26:34 -070028 // converted to machine code. Sets ErrorStatus to true if any
Karl Schimpf8d7abae2014-07-07 14:50:30 -070029 // errors occurred.
30 void translate(const std::string &IRFilename);
31
32private:
33 PNaClTranslator(const PNaClTranslator &) LLVM_DELETED_FUNCTION;
34 PNaClTranslator &operator=(const PNaClTranslator &) LLVM_DELETED_FUNCTION;
35};
36}
37
38#endif // SUBZERO_SRC_PNACLTRANSLATOR_H