Implement PPCInstrInfo::isCoalescableExtInstr().
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 19 Jun 2012 21:14:34 +0000 (21:14 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 19 Jun 2012 21:14:34 +0000 (21:14 +0000)
commit7164288c3eb52e20454fc757440f867f04eb13a4
treee2599c6d8ee747086bbc76dd5a2dff8ba5339ae9
parentd8d0279c007e70c325b4ac9d9893b31ee5f21085
Implement PPCInstrInfo::isCoalescableExtInstr().

The PPC::EXTSW instruction preserves the low 32 bits of its input, just
like some of the x86 instructions. Use it to reduce register pressure
when the low 32 bits have multiple uses.

This requires a small change to PeepholeOptimizer since EXTSW takes a
64-bit input register.

This is related to PR5997.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158743 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/PeepholeOptimizer.cpp
lib/Target/PowerPC/PPCInstrInfo.cpp
lib/Target/PowerPC/PPCInstrInfo.h
test/CodeGen/PowerPC/coalesce-ext.ll [new file with mode: 0644]