[FastISel] Don't trivially kill extractvalues (PR49467)
authorNikita Popov <nikita.ppv@gmail.com>
Sun, 7 Mar 2021 16:27:22 +0000 (17:27 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 9 Mar 2021 17:46:38 +0000 (18:46 +0100)
commit55ae279ba7a5905f39ce3ae79eac7834a4a134cc
treec67846bae147b04b8d7e75fe21fe29d589f52bd1
parentf0513413c7e5ffe0f4ba1527898e502af6adec45
[FastISel] Don't trivially kill extractvalues (PR49467)

All extractvalues of the same value at the same index will map to
the same register, so even if one specific extractvalue only has
one use, we should not mark it as a trivial kill, as there may be
more extractvalues later.

Fixes https://bugs.llvm.org/show_bug.cgi?id=49467.

Differential Revision: https://reviews.llvm.org/D98145
llvm/include/llvm/CodeGen/FastISel.h
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/test/CodeGen/X86/pr49467.ll [new file with mode: 0644]