Remove the code from the scheduler that commuted two-address
authorDan Gohman <gohman@apple.com>
Sat, 3 Jan 2009 18:01:46 +0000 (18:01 +0000)
committerDan Gohman <gohman@apple.com>
Sat, 3 Jan 2009 18:01:46 +0000 (18:01 +0000)
commit223942a420cf5b9e888524186134cc652be8a921
tree7626094d9ee5b67ea8f2e1b9cdf2e415c96384b7
parent3b3b4e3f0f4e4adb2af74942aa939b283a4d5f16
Remove the code from the scheduler that commuted two-address
instructions to avoid copies, because TwoAddressInstructionPass
also does this optimization.  The scheduler's version didn't
account for live-out values, which resulted in spurious commutes
and missed opportunities.

Now, TwoAddressInstructionPass handles all the opportunities,
instead of just those that the scheduler missed. The result is
usually the same, though there are occasional trivial differences
resulting from the avoidance of spurious commutes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61611 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDAGSDNodes.h
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp