[all-commits] [llvm/llvm-project] ff040e: [FastISel] Reuse register for bitcast that does no...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Mon Feb 14 00:15:36 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ff040eca93fb5700b30fc81cde9b8f9401c8da67
https://github.com/llvm/llvm-project/commit/ff040eca93fb5700b30fc81cde9b8f9401c8da67
Author: Nikita Popov <npopov at redhat.com>
Date: 2022-02-14 (Mon, 14 Feb 2022)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/test/CodeGen/AArch64/swifterror.ll
M llvm/test/CodeGen/ARM/swifterror.ll
M llvm/test/CodeGen/X86/atomic64.ll
M llvm/test/CodeGen/X86/swifterror.ll
Log Message:
-----------
[FastISel] Reuse register for bitcast that does not change MVT
The current FastISel code reuses the register for a bitcast that
doesn't change the IR type, but uses a reg-to-reg copy if it
changes the IR type without changing the MVT. However, we can
simply reuse the register in that case as well.
In particular, this avoids unnecessary reg-to-reg copies for pointer
bitcasts. This was found while inspecting O0 codegen differences
between typed and opaque pointers.
Differential Revision: https://reviews.llvm.org/D119432
More information about the All-commits
mailing list