[all-commits] [llvm/llvm-project] 665065: [FastISel] Remove kill tracking
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat Apr 3 06:50:31 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 665065821e6ae11deb9796a27b97a399e4bb3b0d
https://github.com/llvm/llvm-project/commit/665065821e6ae11deb9796a27b97a399e4bb3b0d
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-04-03 (Sat, 03 Apr 2021)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/test/CodeGen/AArch64/arm64-fast-isel-rem.ll
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[FastISel] Remove kill tracking
This is a followup to D98145: As far as I know, tracking of kill
flags in FastISel is just a compile-time optimization. However,
I'm not actually seeing any compile-time regression when removing
the tracking. This probably used to be 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 serve a purpose
anymore, 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.
Differential Revision: https://reviews.llvm.org/D98294
More information about the All-commits
mailing list