Stop relying on physical register kill flags in isKilled() in the two-address
authorCameron Zwarich <zwarich@apple.com>
Thu, 21 Feb 2013 22:58:42 +0000 (22:58 +0000)
committerCameron Zwarich <zwarich@apple.com>
Thu, 21 Feb 2013 22:58:42 +0000 (22:58 +0000)
commita931a12e04b856421977c86d94789cd8b47d6ad3
tree91733f5ceefcf4bbab85e1fdc050eace8417c425
parent7bf3d6a0438485df61c438f26cfbaef2f8d8a3c4
Stop relying on physical register kill flags in isKilled() in the two-address
pass. One of the callers of isKilled() can cope with overapproximation of kills
and the other can't, so I added a flag to indicate this.

In theory this could pessimize code slightly, but in practice most physical
register uses are kills, and most important kills of physical registers are the
only uses of that register prior to register allocation, so we can recognize
them as kills even without kill flags.

This is relevant because LiveIntervals gets rid of all kill flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175821 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TwoAddressInstructionPass.cpp