OSDN Git Service

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)
commit9a57ab02dfb82e186a8b04c6f7d73180d7cfaa7a
tree7626094d9ee5b67ea8f2e1b9cdf2e415c96384b7
parentd5c91b461a0fbd306afee8b85f81d5af95de59b7
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