[all-commits] [llvm/llvm-project] 36c19e: [TableGen] Support custom decoders for variable le...

Min-Yih Hsu via All-commits all-commits at lists.llvm.org
Tue Jan 24 22:03:03 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 36c19eae27b2970c02af77c1eb6e35aa3d3bf4df
      https://github.com/llvm/llvm-project/commit/36c19eae27b2970c02af77c1eb6e35aa3d3bf4df
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
    M llvm/utils/TableGen/VarLenCodeEmitterGen.h

  Log Message:
  -----------
  [TableGen] Support custom decoders for variable length instructions

Just like the encoder directive for variable-length instructions, this
patch adds a new decoder directive to allow custom decoder function on
an operand.

Right now, due to the design of DecoderEmitter each operand can only
have a single custom decoder in a given instruction.

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


  Commit: c40b158ea003ddb741d816ad4a8a38fddc4004e9
      https://github.com/llvm/llvm-project/commit/c40b158ea003ddb741d816ad4a8a38fddc4004e9
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kInstrFormats.td
    M llvm/lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h
    M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
    M llvm/test/MC/Disassembler/M68k/arithmetic.txt
    M llvm/test/MC/Disassembler/M68k/data.txt

  Log Message:
  -----------
  [M68k][Disassembler] Use custom decoder for 32-bit immediates

32-bit immediates require special cares because they go across the
normal word (16 bits) boundaries.
This patch also fixes some incorrect disassembler test cases.

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


  Commit: b3de316420374536def0cc3bfb7d317db9fc830c
      https://github.com/llvm/llvm-project/commit/b3de316420374536def0cc3bfb7d317db9fc830c
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrFormats.td
    M llvm/test/MC/M68k/Relocations/data-abs.s

  Log Message:
  -----------
  [M68k][MC] Make immediate operands relocatable

Sometimes memory addresses are treated as immediate values. Thus
immediate operands have to be relocatable.

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


Compare: https://github.com/llvm/llvm-project/compare/7454439674a4...b3de31642037


More information about the All-commits mailing list