OLD | NEW |
1 //===- subzero/src/IceTranslator.h - ICE to machine code --------*- C++ -*-===// | 1 //===- subzero/src/IceTranslator.h - ICE to machine code --------*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares the general driver class for translating ICE to | 10 // This file declares the general driver class for translating ICE to |
(...skipping 12 matching lines...) Expand all Loading... |
23 | 23 |
24 class ClFlags; | 24 class ClFlags; |
25 class Cfg; | 25 class Cfg; |
26 class VariableDeclaration; | 26 class VariableDeclaration; |
27 class GlobalContext; | 27 class GlobalContext; |
28 | 28 |
29 // Base class for translating ICE to machine code. Derived classes convert | 29 // Base class for translating ICE to machine code. Derived classes convert |
30 // other intermediate representations down to ICE, and then call the appropriate | 30 // other intermediate representations down to ICE, and then call the appropriate |
31 // (inherited) methods to convert ICE into machine instructions. | 31 // (inherited) methods to convert ICE into machine instructions. |
32 class Translator { | 32 class Translator { |
| 33 Translator() = delete; |
33 Translator(const Translator &) = delete; | 34 Translator(const Translator &) = delete; |
34 Translator &operator=(const Translator &) = delete; | 35 Translator &operator=(const Translator &) = delete; |
35 | 36 |
36 public: | 37 public: |
37 Translator(GlobalContext *Ctx); | 38 explicit Translator(GlobalContext *Ctx); |
38 | 39 |
39 ~Translator(); | 40 ~Translator(); |
40 const ErrorCode &getErrorStatus() const { return ErrorStatus; } | 41 const ErrorCode &getErrorStatus() const { return ErrorStatus; } |
41 | 42 |
42 GlobalContext *getContext() const { return Ctx; } | 43 GlobalContext *getContext() const { return Ctx; } |
43 | 44 |
44 const ClFlags &getFlags() const { return Ctx->getFlags(); } | 45 const ClFlags &getFlags() const { return Ctx->getFlags(); } |
45 | 46 |
46 /// Translates the constructed ICE function Fcn to machine code. | 47 /// Translates the constructed ICE function Fcn to machine code. |
47 /// Takes ownership of Func. | 48 /// Takes ownership of Func. |
(...skipping 25 matching lines...) Expand all Loading... |
73 protected: | 74 protected: |
74 GlobalContext *Ctx; | 75 GlobalContext *Ctx; |
75 uint32_t NextSequenceNumber; | 76 uint32_t NextSequenceNumber; |
76 // Exit status of the translation. False is successful. True otherwise. | 77 // Exit status of the translation. False is successful. True otherwise. |
77 ErrorCode ErrorStatus; | 78 ErrorCode ErrorStatus; |
78 }; | 79 }; |
79 | 80 |
80 } // end of namespace Ice | 81 } // end of namespace Ice |
81 | 82 |
82 #endif // SUBZERO_SRC_ICETRANSLATOR_H | 83 #endif // SUBZERO_SRC_ICETRANSLATOR_H |
OLD | NEW |