Don't copy regs that are only used in the entry block into a vreg. This
authorChris Lattner <sabre@nondot.org>
Fri, 26 Aug 2005 22:49:59 +0000 (22:49 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Aug 2005 22:49:59 +0000 (22:49 +0000)
commit9d3a483a3826d3749c2db9863ddb6e824f1dd6d4
tree1fda75dd01b34abdd94b2ae194079213925ed67c
parented461e0fafbd0b905cb716df108000bcd6ecf3d4
Don't copy regs that are only used in the entry block into a vreg.  This
changes the code generated for:

short %test(short %A) {
  %B = xor short %A, -32768
  ret short %B
}

to:

_test:
        xori r2, r3, 32768
        xoris r2, r2, 65535
        extsh r3, r2
        blr

instead of:

_test:
        rlwinm r2, r3, 0, 16, 31
        xori r2, r3, 32768
        xoris r2, r2, 65535
        extsh r3, r2
        blr

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