OSDN Git Service

MachineCSE: Respect interblock physreg liveness
authorMikael Holmen <mikael.holmen@ericsson.com>
Wed, 24 May 2017 09:35:23 +0000 (09:35 +0000)
committerMikael Holmen <mikael.holmen@ericsson.com>
Wed, 24 May 2017 09:35:23 +0000 (09:35 +0000)
commit3bfeab444dc8c42bb1f314a6a05ee6065663f9bc
tree9353945fc3c87650a032357653d9bcf3f995e9cc
parentc7e5bebc4af2ffd2d314270adf1e473c26de5b4d
MachineCSE: Respect interblock physreg liveness

Summary:
This is a fix for PR32538. MachineCSE first looks at MO.isDead(), but
if it is not marked dead, MachineCSE still wants to do its own check
to see if it is trivially dead. This check for the trivial case
assumed that physical registers cannot be live out of a block.

Patch by Mattias Eriksson.

Reviewers: qcolombet, jbhateja

Reviewed By: qcolombet, jbhateja

Subscribers: jbhateja, llvm-commits

Differential Revision: https://reviews.llvm.org/D33408

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303731 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineCSE.cpp
test/CodeGen/MIR/Generic/machine-cse-physreg.mir [new file with mode: 0644]