[PATCH] D140364: [llvm][SelectionDAGISel] support -{start|stop}-{before|after}= for remaining targets

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 18:53:58 PST 2022


nickdesaulniers created this revision.
Herald added subscribers: mattd, gchakrabarti, pmatos, asb, asavonic, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD, sabuasal, sunfish, simoncook, johnrusso, rbar, fedor.sergeev, kbarton, hiraditya, kristof.beyls, jgravelle-google, arichardson, sbc100, nemanjai, sdardis, dylanmckay, jyknight, dschuff.
Herald added a project: All.
nickdesaulniers requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, MaskRay, aheejin, jholewinski.
Herald added a project: LLVM.

Follow up to the series:

1. https://reviews.llvm.org/D140161
2. https://reviews.llvm.org/D140349
3. https://reviews.llvm.org/D140331
4. https://reviews.llvm.org/D140323

Completes the work from the previous two for remaining targets.

This creates the following named passes that can be run via
`llc -{start|stop}-{before|after}`:

- arc-isel
- arm-isel
- avr-isel
- bpf-isel
- csky-isel
- hexagon-isel
- lanai-isel
- loongarch-isel
- m68k-isel
- msp430-isel
- mips-isel
- nvptx-isel
- ppc-codegen
- riscv-isel
- sparc-isel
- systemz-isel
- ve-isel
- wasm-isel
- xcore-isel

A nice way to write tests for SelectionDAGISel might be to use a RUN:
line like:
llc -mtriple=<triple> -start-before=<arch>-isel -stop-after=finalize-isel -o -

Fixes: https://github.com/llvm/llvm-project/issues/59538


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140364

Files:
  llvm/lib/Target/ARC/ARC.h
  llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
  llvm/lib/Target/ARC/ARCTargetMachine.cpp
  llvm/lib/Target/ARM/ARM.h
  llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  llvm/lib/Target/ARM/ARMTargetMachine.cpp
  llvm/lib/Target/AVR/AVR.h
  llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
  llvm/lib/Target/AVR/AVRTargetMachine.cpp
  llvm/lib/Target/BPF/BPF.h
  llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
  llvm/lib/Target/BPF/BPFTargetMachine.cpp
  llvm/lib/Target/CSKY/CSKY.h
  llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp
  llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
  llvm/lib/Target/Hexagon/Hexagon.h
  llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
  llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
  llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
  llvm/lib/Target/Lanai/Lanai.h
  llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp
  llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
  llvm/lib/Target/LoongArch/LoongArch.h
  llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
  llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
  llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
  llvm/lib/Target/M68k/M68k.h
  llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
  llvm/lib/Target/M68k/M68kTargetMachine.cpp
  llvm/lib/Target/MSP430/MSP430.h
  llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
  llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
  llvm/lib/Target/Mips/Mips.h
  llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
  llvm/lib/Target/Mips/MipsISelDAGToDAG.h
  llvm/lib/Target/Mips/MipsTargetMachine.cpp
  llvm/lib/Target/NVPTX/NVPTX.h
  llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
  llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
  llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
  llvm/lib/Target/PowerPC/PPC.h
  llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
  llvm/lib/Target/RISCV/RISCV.h
  llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
  llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
  llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
  llvm/lib/Target/Sparc/Sparc.h
  llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
  llvm/lib/Target/Sparc/SparcTargetMachine.cpp
  llvm/lib/Target/SystemZ/SystemZ.h
  llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
  llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
  llvm/lib/Target/VE/VE.h
  llvm/lib/Target/VE/VEISelDAGToDAG.cpp
  llvm/lib/Target/VE/VETargetMachine.cpp
  llvm/lib/Target/WebAssembly/WebAssembly.h
  llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
  llvm/lib/Target/XCore/XCore.h
  llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
  llvm/lib/Target/XCore/XCoreTargetMachine.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140364.484153.patch
Type: text/x-patch
Size: 56932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221220/3dd82752/attachment.bin>


More information about the llvm-commits mailing list