1 //===- CodeGenInstruction.h - Instruction Class Wrapper ---------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines a wrapper class for the 'Instruction' TableGen class.
12 //===----------------------------------------------------------------------===//
14 #ifndef CODEGEN_INSTRUCTION_H
15 #define CODEGEN_INSTRUCTION_H
24 struct CodeGenInstruction {
25 Record *TheDef; // The actual record defining this instruction.
26 std::string Name; // Contents of the 'Name' field.
27 std::string Namespace; // The namespace the instruction is in.
29 /// AsmString - The format string used to emit a .s file for the
31 std::string AsmString;
33 /// OperandList - The list of declared operands, along with their declared
34 /// type (which is a record).
35 std::vector<std::pair<Record*, std::string> > OperandList;
37 // Various boolean values we track for the instruction.
45 CodeGenInstruction(Record *R);