Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to...
authorEvan Cheng <evan.cheng@apple.com>
Mon, 12 Jan 2009 03:19:55 +0000 (03:19 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 12 Jan 2009 03:19:55 +0000 (03:19 +0000)
commitc29a56dedbe4297dad94b9bf2e19035c5903fd1f
tree2258cd1491d607643871641e9053d2b1e4108896
parente1762c9826eb0033517b050793dbe05708079e1c
Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency.
Also future proof the scheduler to handle "normal" physical register dependencies. The code is not exercised yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62074 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/ScheduleDAGEmit.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp
test/CodeGen/X86/pr3244.ll [new file with mode: 0644]