Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 //===- subzero/src/IceInst.h - High-level instructions ----------*- C++ -*-===// | 1 //===- subzero/src/IceInst.h - High-level instructions ----------*- 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 Inst class and its target-independent | 10 // This file declares the Inst class and its target-independent |
| 11 // subclasses, which represent the high-level Vanilla ICE instructions | 11 // subclasses, which represent the high-level Vanilla ICE instructions |
| 12 // and map roughly 1:1 to LLVM instructions. | 12 // and map roughly 1:1 to LLVM instructions. |
| 13 // | 13 // |
| 14 //===----------------------------------------------------------------------===// | 14 //===----------------------------------------------------------------------===// |
| 15 | 15 |
| 16 #ifndef SUBZERO_SRC_ICEINST_H | 16 #ifndef SUBZERO_SRC_ICEINST_H |
| 17 #define SUBZERO_SRC_ICEINST_H | 17 #define SUBZERO_SRC_ICEINST_H |
| 18 | 18 |
| 19 #include "IceCfg.h" | |
|
Jim Stichnoth
2015/06/22 21:52:02
Is this include actually needed?
John
2015/06/22 22:09:23
Yes, it is. This header uses
Func->...
which mea
Jim Stichnoth
2015/06/22 23:04:05
I see. Looks like we've just gotten lucky so far.
| |
| 19 #include "IceDefs.h" | 20 #include "IceDefs.h" |
| 20 #include "IceInst.def" | 21 #include "IceInst.def" |
| 21 #include "IceIntrinsics.h" | 22 #include "IceIntrinsics.h" |
| 22 #include "IceTypes.h" | 23 #include "IceTypes.h" |
| 23 | 24 |
| 24 // TODO: The Cfg structure, and instructions in particular, need to be | 25 // TODO: The Cfg structure, and instructions in particular, need to be |
| 25 // validated for things like valid operand types, valid branch | 26 // validated for things like valid operand types, valid branch |
| 26 // targets, proper ordering of Phi and non-Phi instructions, etc. | 27 // targets, proper ordering of Phi and non-Phi instructions, etc. |
| 27 // Most of the validity checking will be done in the bitcode reader. | 28 // Most of the validity checking will be done in the bitcode reader. |
| 28 // We need a list of everything that should be validated, and tests | 29 // We need a list of everything that should be validated, and tests |
| (...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 935 static void noteHead(Ice::Inst *, Ice::Inst *) {} | 936 static void noteHead(Ice::Inst *, Ice::Inst *) {} |
| 936 void deleteNode(Ice::Inst *) {} | 937 void deleteNode(Ice::Inst *) {} |
| 937 | 938 |
| 938 private: | 939 private: |
| 939 mutable ilist_half_node<Ice::Inst> Sentinel; | 940 mutable ilist_half_node<Ice::Inst> Sentinel; |
| 940 }; | 941 }; |
| 941 | 942 |
| 942 } // end of namespace llvm | 943 } // end of namespace llvm |
| 943 | 944 |
| 944 #endif // SUBZERO_SRC_ICEINST_H | 945 #endif // SUBZERO_SRC_ICEINST_H |
| OLD | NEW |