[all-commits] [llvm/llvm-project] aaa250: [M68k] Factoring out memory operand printer into a...

Min-Yih Hsu via All-commits all-commits at lists.llvm.org
Wed Mar 8 13:54:00 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aaa2503ad9629ffe5eb9b325bf867a89bd19a31e
      https://github.com/llvm/llvm-project/commit/aaa2503ad9629ffe5eb9b325bf867a89bd19a31e
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2023-03-08 (Wed, 08 Mar 2023)

  Changed paths:
    M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
    M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.h
    A llvm/lib/Target/M68k/MCTargetDesc/M68kMemOperandPrinter.h

  Log Message:
  -----------
  [M68k] Factoring out memory operand printer into a separate file

In order to support inline asm with memory constraints,
AsmPrinter::PrintAsmMemOperand needs to be implemented, which has lots
of overlaps with MCInstPrinter especially on the format of complex
addressing modes. This patch factors out the common printing logics from
MCInstPrinter into a separate class inherited by both AsmPrinter and
MCInstPrinter, in which the derived classes only need to provide
primitives like printOperand and printDisp.

This change is basically NFC. See D143529 for changes on AsmPrinter.

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


  Commit: 7335cd05137076c69ce4716ac8f30a99fc95c406
      https://github.com/llvm/llvm-project/commit/7335cd05137076c69ce4716ac8f30a99fc95c406
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2023-03-08 (Wed, 08 Mar 2023)

  Changed paths:
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/test/Sema/inline-asm-validate-m68k.c
    M llvm/lib/Target/M68k/M68kAsmPrinter.cpp
    M llvm/lib/Target/M68k/M68kAsmPrinter.h
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h
    M llvm/test/CodeGen/M68k/inline-asm.ll

  Log Message:
  -----------
  [M68k] Add support for basic memory constraints in inline asm

This patch adds support for 'm', 'Q', and 'U' memory constraints.

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


Compare: https://github.com/llvm/llvm-project/compare/7a4061ae372b...7335cd051370


More information about the All-commits mailing list