diff options
author | David L Kreitzer <david.l.kreitzer@intel.com> | 2016-02-03 23:17:32 +0000 |
---|---|---|
committer | David L Kreitzer <david.l.kreitzer@intel.com> | 2016-02-03 23:17:32 +0000 |
commit | f24d409dce53ccb8b05a6d8d3ef95f2a0c62f29e (patch) | |
tree | 80d06a199d37f99356bcbcf994661dd912dbb588 /llvm/utils/TableGen | |
parent | e90057a5f304f411e5ea457f307a7e74973e8803 (diff) | |
download | bcm5719-llvm-f24d409dce53ccb8b05a6d8d3ef95f2a0c62f29e.tar.gz bcm5719-llvm-f24d409dce53ccb8b05a6d8d3ef95f2a0c62f29e.zip |
Unify the target opcode enum in TargetOpcodes.h and the FixedInstrs array in
CodeGenTarget.cpp to avoid the ordering dependence. NFCI.
Differential Revision: http://reviews.llvm.org/D16826
llvm-svn: 259726
Diffstat (limited to 'llvm/utils/TableGen')
-rw-r--r-- | llvm/utils/TableGen/CodeGenTarget.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.cpp b/llvm/utils/TableGen/CodeGenTarget.cpp index 66ba73c592f..8fc8f1fa3b5 100644 --- a/llvm/utils/TableGen/CodeGenTarget.cpp +++ b/llvm/utils/TableGen/CodeGenTarget.cpp @@ -300,19 +300,9 @@ GetInstByName(const char *Name, /// \brief Return all of the instructions defined by the target, ordered by /// their enum value. void CodeGenTarget::ComputeInstrsByEnum() const { - // The ordering here must match the ordering in TargetOpcodes.h. - // FIXME: It would be nice to have the opcode directly extracted - // to avoid potential errors. At the very, least a compile time - // error would be appreciated if the order does not match. static const char *const FixedInstrs[] = { - "PHI", "INLINEASM", "CFI_INSTRUCTION", "EH_LABEL", - "GC_LABEL", "KILL", "EXTRACT_SUBREG", "INSERT_SUBREG", - "IMPLICIT_DEF", "SUBREG_TO_REG", "COPY_TO_REGCLASS", "DBG_VALUE", - "REG_SEQUENCE", "COPY", "BUNDLE", "LIFETIME_START", - "LIFETIME_END", "STACKMAP", "PATCHPOINT", "LOAD_STACK_GUARD", - "STATEPOINT", "LOCAL_ESCAPE", "FAULTING_LOAD_OP", - // Generic opcodes for GlobalISel start here. - "G_ADD", +#define HANDLE_TARGET_OPCODE(OPC, NUM) #OPC, +#include "llvm/Target/TargetOpcodes.def" nullptr}; const auto &Insts = getInstructions(); for (const char *const *p = FixedInstrs; *p; ++p) { |