| 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 17 matching lines...) Expand all  Loading... | 
| 28 // and then call the appropriate (inherited) methods to convert ICE into | 28 // and then call the appropriate (inherited) methods to convert ICE into | 
| 29 // machine instructions. | 29 // machine instructions. | 
| 30 class Translator { | 30 class Translator { | 
| 31 public: | 31 public: | 
| 32   Translator(GlobalContext *Ctx, ClFlags &Flags) | 32   Translator(GlobalContext *Ctx, ClFlags &Flags) | 
| 33       : Ctx(Ctx), Flags(Flags), ErrorStatus(0) {} | 33       : Ctx(Ctx), Flags(Flags), ErrorStatus(0) {} | 
| 34 | 34 | 
| 35   ~Translator(); | 35   ~Translator(); | 
| 36   bool getErrorStatus() const { return ErrorStatus; } | 36   bool getErrorStatus() const { return ErrorStatus; } | 
| 37 | 37 | 
|  | 38   GlobalContext *getContext() const { return Ctx; } | 
|  | 39 | 
|  | 40   ClFlags &getFlags() const { return Flags; } | 
|  | 41 | 
|  | 42   /// Translates the constructed ICE function Fcn to machine code. | 
|  | 43   /// Note: As a side effect, Field Func is set to Fcn. | 
|  | 44   void translateFcn(Cfg *Fcn); | 
|  | 45 | 
|  | 46   /// Emits the constant pool. | 
|  | 47   void emitConstants(); | 
|  | 48 | 
| 38 protected: | 49 protected: | 
| 39   GlobalContext *Ctx; | 50   GlobalContext *Ctx; | 
| 40   ClFlags &Flags; | 51   ClFlags &Flags; | 
| 41   // The exit status of the translation. False is successful. True | 52   // The exit status of the translation. False is successful. True | 
| 42   // otherwise. | 53   // otherwise. | 
| 43   bool ErrorStatus; | 54   bool ErrorStatus; | 
| 44   // Ideally, Func would be inside the methods that converts IR to | 55   // Ideally, Func would be inside the methods that converts IR to | 
| 45   // functions.  However, emitting the constant pool requires a valid | 56   // functions.  However, emitting the constant pool requires a valid | 
| 46   // Cfg object, so we need to defer deleting the last non-empty Cfg | 57   // Cfg object, so we need to defer deleting the last non-empty Cfg | 
| 47   // object to emit the constant pool (via emitConstants). TODO: | 58   // object to emit the constant pool (via emitConstants). TODO: | 
| 48   // Since all constants are globally pooled in the GlobalContext | 59   // Since all constants are globally pooled in the GlobalContext | 
| 49   // object, change all Constant related functions to use | 60   // object, change all Constant related functions to use | 
| 50   // GlobalContext instead of Cfg, and then make emitConstantPool use | 61   // GlobalContext instead of Cfg, and then make emitConstantPool use | 
| 51   // that. | 62   // that. | 
| 52   llvm::OwningPtr<Cfg> Func; | 63   llvm::OwningPtr<Cfg> Func; | 
| 53 | 64 | 
| 54   /// Translates the constructed ICE function Fcn to machine code. |  | 
| 55   /// Note: As a side effect, Field Func is set to Fcn. |  | 
| 56   void translateFcn(Cfg *Fcn); |  | 
| 57 |  | 
| 58   /// Emits the constant pool. |  | 
| 59   void emitConstants(); |  | 
| 60 |  | 
| 61 private: | 65 private: | 
| 62   Translator(const Translator &) LLVM_DELETED_FUNCTION; | 66   Translator(const Translator &) LLVM_DELETED_FUNCTION; | 
| 63   Translator &operator=(const Translator &) LLVM_DELETED_FUNCTION; | 67   Translator &operator=(const Translator &) LLVM_DELETED_FUNCTION; | 
| 64 }; | 68 }; | 
| 65 } | 69 } | 
| 66 | 70 | 
| 67 #endif // SUBZERO_SRC_ICETRANSLATOR_H | 71 #endif // SUBZERO_SRC_ICETRANSLATOR_H | 
| OLD | NEW | 
|---|