Now that we have operand info for machine instructions, use it to create
authorChris Lattner <sabre@nondot.org>
Fri, 19 Aug 2005 20:45:43 +0000 (20:45 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 19 Aug 2005 20:45:43 +0000 (20:45 +0000)
commit4ccd406317942375c32b223625d757180867a547
treed17489434c486b63cd3c439757211496873ff3fc
parent8d30c23d2638bdc9a3e4fc7ba764adf5df043ee5
Now that we have operand info for machine instructions, use it to create
temporary registers for things that define a register.  This allows dag->dag
isel to compile this:

int %test() { ret int 65535 }

into:

_test:
        lis r2, 0
        ori r2, r2, 65535
        blr

Next up, getting CopyFromReg to work, allowing arguments and cross-bb values.

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