[PATCH] D98294: [FastISel] Remove kill tracking

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 9 14:42:28 PST 2021


nikic created this revision.
nikic added reviewers: craig.topper, spatel, RKSimon, probinson.
Herald added subscribers: pengfei, atanasyan, jrtc27, kbarton, hiraditya, jgravelle-google, sbc100, nemanjai, sdardis, dschuff.
nikic requested review of this revision.
Herald added subscribers: llvm-commits, aheejin.
Herald added a project: LLVM.

This is a followup to D98145 <https://reviews.llvm.org/D98145>: As far as I know, tracking of kill flag in FastISel is just a compile-time optimization. However, I'm not actually seeing any compile-time regression when removing the tracking (http://llvm-compile-time-tracker.com/compare.php?from=f111dc7cfcda28597b6f26728f7e0cc584e48460&to=f51b35fba39dad43fd22cdbdbea3112a3401c06b&stat=instructions -- the tramp3d-v4 improvement is noise). I think that might have been more important in the past, before FastRA was switched to allocate instructions in reverse order, which means that it discovers kills as a matter of course.

As such, the kill tracking doesn't really seem to have a purpose, and just adds additional complexity and potential for errors. This patch removes it entirely. The primary changes are dropping the hasTrivialKill() method and removing the kill arguments from the emitFast methods. The rest is mechanical fixup.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D98294

Files:
  llvm/include/llvm/CodeGen/FastISel.h
  llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  llvm/lib/Target/AArch64/AArch64FastISel.cpp
  llvm/lib/Target/ARM/ARMFastISel.cpp
  llvm/lib/Target/Mips/MipsFastISel.cpp
  llvm/lib/Target/PowerPC/PPCFastISel.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
  llvm/lib/Target/X86/X86FastISel.cpp
  llvm/test/CodeGen/AArch64/arm64-fast-isel-rem.ll
  llvm/utils/TableGen/FastISelEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98294.329466.patch
Type: text/x-patch
Size: 122277 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210309/2f834d91/attachment-0001.bin>


More information about the llvm-commits mailing list