OSDN Git Service

Fix Sub-register Rewriting in Aggressive Anti-Dependence Breaker
authorChuang-Yu Cheng <cycheng@multicorewareinc.com>
Fri, 1 Apr 2016 02:05:29 +0000 (02:05 +0000)
committerChuang-Yu Cheng <cycheng@multicorewareinc.com>
Fri, 1 Apr 2016 02:05:29 +0000 (02:05 +0000)
commit0835dfe527820c4d766b155415002d441886cb11
treea66032cb3b3f1437af3b8586e040e83192377c62
parent433ac20b17029077a77227d525dcf565100c9a1c
Fix Sub-register Rewriting in Aggressive Anti-Dependence Breaker

Previously, HandleLastUse would delete RegRef information for sub-registers
if they were dead even if their corresponding super-register were still live.

If the super-register were later renamed, then the definitions of the
sub-register would not be updated appropriately. This patch alters the
behavior so that RegInfo information for sub-registers is only deleted when
the sub-register and super-register are both dead.

This resolves PR26775. This is the mirror image of Hal's r227311 commit.

Author: Tom Jablin (tjablin)
Reviewers: kbarton uweigand nemanjai hfinkel

http://reviews.llvm.org/D18448

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265097 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AggressiveAntiDepBreaker.cpp
test/CodeGen/PowerPC/aggressive-anti-dep-breaker-subreg.ll [new file with mode: 0644]