Reapply r143177 and r143179 (reverting r143188), with scheduler
authorDan Gohman <gohman@apple.com>
Fri, 28 Oct 2011 17:55:38 +0000 (17:55 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 28 Oct 2011 17:55:38 +0000 (17:55 +0000)
commitbf923b815d6da97367e3eedab69230918bf128a3
tree6fb86a463862e9d74f54447c8c14c67648832c2a
parent82418ff4d1156dfd30d89a4874a365509a0798de
Reapply r143177 and r143179 (reverting r143188), with scheduler
fixes: Use a separate register, instead of SP, as the
calling-convention resource, to avoid spurious conflicts with
actual uses of SP. Also, fix unscheduling of calling sequences,
which can be triggered by pseudo-two-address dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143206 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/XCore/XCoreISelLowering.cpp
test/CodeGen/CellSPU/and_ops.ll
test/CodeGen/CellSPU/call_indirect.ll
test/CodeGen/CellSPU/nand.ll
test/CodeGen/CellSPU/or_ops.ll
test/CodeGen/CellSPU/select_bits.ll
test/CodeGen/CellSPU/struct_1.ll
test/CodeGen/Mips/cprestore.ll
test/CodeGen/Mips/largeimmprinting.ll
test/CodeGen/Thumb/2011-05-11-DAGLegalizer.ll
test/CodeGen/X86/legalize-libcalls.ll [new file with mode: 0644]
test/CodeGen/X86/sse3.ll