[PATCH] D110055: [AsmPrinter] Loop over bundles in generic code

Sebastian Neubauer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 20 02:26:42 PDT 2021


sebastian-ne created this revision.
sebastian-ne added reviewers: arsenm, nickdesaulniers, kparzysz.
Herald added subscribers: foad, kerbowa, atanasyan, jrtc27, fedor.sergeev, hiraditya, arichardson, nhaehnle, jvesely, sdardis, jyknight.
sebastian-ne requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Every target, except Hexagon, iterates over bundles and prints the
contents like every other instruction.

A part of instruction printing is done in the for-loop in the
AsmPrinter, e.g. handling debug or kill instructions, which had to be
reimplemented in every target to support bundles.

With this patch, iterating over instruction bundles is taken out of the
targets and moved into the generic AsmPrinter.
For Hexagon, the bundles are still printed when encountering the bundle
instruction. Further instructions inside bundles are ignored.

Mips has a test change for some debug data. I hope this is just some
moved metadata and doesn't change behavior.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110055

Files:
  llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
  llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
  llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
  llvm/lib/Target/Mips/MipsAsmPrinter.cpp
  llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
  llvm/lib/Target/VE/VEAsmPrinter.cpp
  llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
  llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
  llvm/test/DebugInfo/Mips/dbg-call-site-low-pc.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110055.373526.patch
Type: text/x-patch
Size: 23917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210920/102fa2fe/attachment.bin>


More information about the llvm-commits mailing list