//===- HexagonMCInst.h - Hexagon sub-class of MCInst ----------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This class extends MCInst to allow some VLIW annotation. // //===----------------------------------------------------------------------===// #ifndef HEXAGONMCINST_H #define HEXAGONMCINST_H #include "llvm/MC/MCInst.h" #include "llvm/CodeGen/MachineInstr.h" namespace llvm { class HexagonMCInst: public MCInst { // Packet start and end markers unsigned startPacket: 1, endPacket: 1; const MachineInstr *MachineI; public: explicit HexagonMCInst(): MCInst(), startPacket(0), endPacket(0) {} const MachineInstr* getMI() const { return MachineI; }; void setMI(const MachineInstr *MI) { MachineI = MI; }; bool isStartPacket() const { return (startPacket); }; bool isEndPacket() const { return (endPacket); }; void setStartPacket(bool yes) { startPacket = yes; }; void setEndPacket(bool yes) { endPacket = yes; }; }; } #endif