[all-commits] [llvm/llvm-project] 0f9995: [Lanai] Fix useDeprecatedPositionallyEncodedOperan...

James Y Knight via All-commits all-commits at lists.llvm.org
Sun Sep 25 14:55:42 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0f99958e7979a2cb57f997a7ea81649c30c54c02
      https://github.com/llvm/llvm-project/commit/0f99958e7979a2cb57f997a7ea81649c30c54c02
  Author: James Y Knight <jyknight at google.com>
  Date:   2022-09-25 (Sun, 25 Sep 2022)

  Changed paths:
    M llvm/lib/Target/Lanai/Lanai.td
    M llvm/lib/Target/Lanai/LanaiInstrFormats.td

  Log Message:
  -----------
  [Lanai] Fix useDeprecatedPositionallyEncodedOperands errors.

This is a follow-on to https://reviews.llvm.org/D134073.

Lanai was almost clean: the only issue is that 'bit' behaves
differently than 'bits<1>', because only the 'bits' type preserves
unresolved references via 'keepUnsetBits()' in
TableGen/Record.h. Thus, use bits instead.

This issue _would_ have caused invalid instruction emission/decoding,
except that the PQ bits were being overriden after the fact by code in
'adjustPqBits' in MCTargetDesc/LanaiMCCodeEmitter.cpp, and
'PostOperandDecodeAdjust' in Disassembler/LanaiDisassembler.cpp.

Differential Revision: https://reviews.llvm.org/D134075


  Commit: a8c59bcc0198733ed840cb115ba6a078be0c4ad4
      https://github.com/llvm/llvm-project/commit/a8c59bcc0198733ed840cb115ba6a078be0c4ad4
  Author: James Y Knight <jyknight at google.com>
  Date:   2022-09-25 (Sun, 25 Sep 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/R600.td
    M llvm/lib/Target/AMDGPU/R600Instructions.td

  Log Message:
  -----------
  [AMDGPU] Fix useDeprecatedPositionallyEncodedOperands errors in R600.

This is a follow-on to https://reviews.llvm.org/D134073.

It renames a couple of fields to match their operands, as well as
introducing sub-operand names where required.

This change _only_ fixes the 'R600' half of the target, not the
'AMDGPU' half. Fixing the AMDGPU half will be a significantly more
difficult change (which I've not yet attempted.)

Differential Revision: https://reviews.llvm.org/D134078


  Commit: 4f188ef89ce5a3bee21fd0b4e8fcdf7f030f64b2
      https://github.com/llvm/llvm-project/commit/4f188ef89ce5a3bee21fd0b4e8fcdf7f030f64b2
  Author: James Y Knight <jyknight at google.com>
  Date:   2022-09-25 (Sun, 25 Sep 2022)

  Changed paths:
    M llvm/lib/Target/AVR/AVR.td
    M llvm/lib/Target/AVR/AVRInstrFormats.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/test/MC/AVR/inst-family-cond-branch.s
    M llvm/test/MC/AVR/inst-mul.s
    M llvm/test/MC/AVR/inst-rjmp.s
    M llvm/test/MC/AVR/inst-sbrc.s
    M llvm/test/MC/AVR/inst-sbrs.s

  Log Message:
  -----------
  [AVR] Fix useDeprecatedPositionallyEncodedOperands errors.

This is a follow-on to https://reviews.llvm.org/D134073.

It renames a few fields to have consistent names, as well as renaming
operands to match the field names.

The encoder behavior is unchanged by this cleanup, but a few
instructions were previously being disassembled incorrectly, and have
been corrected by this change. All of the affected instructions were
missing disassembly tests, which are now added.

Differential Revision: https://reviews.llvm.org/D134185


Compare: https://github.com/llvm/llvm-project/compare/015ce15ea27b...4f188ef89ce5


More information about the All-commits mailing list