[PATCH] D137653: [TableGen] More named sub-operands work.

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 8 09:27:37 PST 2022


jyknight created this revision.
jyknight added a reviewer: MaskRay.
Herald added subscribers: StephenFan, atanasyan, jrtc27, fedor.sergeev, hiraditya, arichardson, sdardis.
Herald added a project: All.
jyknight requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Commit a538d1f13a13 <https://reviews.llvm.org/rGa538d1f13a1375c212c7018e36deab2cd896bf6e> first added support for named sub-operands in
CodeEmitterGen. We now add a few more features to that, enabling
further target cleanups.

1. Adds support for handling an EncoderMethod in a sub-operand in

CodeEmitterGen. Previously, the specified encoder of a sub-operand was
ignored, and only the default used.

2. Adds support for sub-operands in DecoderEmitter, along with support

for tied sub-operands.

The changes to the decoder required a few minor tweaks to a few
targets, where existing brokeness was exposed. In order to keep this
patch small, I left FIXMEs which will be addressed in upcoming
patches. (Except MIPS16, since its object file emission/decoding is
totally broken).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D137653

Files:
  llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
  llvm/lib/Target/ARC/ARCInstrFormats.td
  llvm/lib/Target/ARC/ARCInstrInfo.td
  llvm/lib/Target/ARM/ARMInstrFormats.td
  llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
  llvm/lib/Target/Mips/Mips16InstrInfo.td
  llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
  llvm/lib/Target/Sparc/SparcInstrInfo.td
  llvm/utils/TableGen/CodeEmitterGen.cpp
  llvm/utils/TableGen/CodeGenInstruction.cpp
  llvm/utils/TableGen/CodeGenInstruction.h
  llvm/utils/TableGen/DecoderEmitter.cpp
  llvm/utils/TableGen/VarLenCodeEmitterGen.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137653.474030.patch
Type: text/x-patch
Size: 24241 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221108/8df3c0df/attachment.bin>


More information about the llvm-commits mailing list