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)
commit35c6181982900a7f27f224d40c9e1a230803bd94
tree0fa101565be946df44e933935a4ca99deda1b8a0
parent4ea9e9c9bbb6c0697fb1bf5db5cf35975e6a6937
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

llvm-svn: 265097
llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
llvm/test/CodeGen/PowerPC/aggressive-anti-dep-breaker-subreg.ll [new file with mode: 0644]