Be careful about scheduling nodes above previous calls. It increase usages of
authorEvan Cheng <evan.cheng@apple.com>
Tue, 26 Apr 2011 21:31:35 +0000 (21:31 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 26 Apr 2011 21:31:35 +0000 (21:31 +0000)
commit554daa67bd1c4f01fb7a00f2f4255a52b81e9fa3
tree94e9a50d8a25d4072cacd8cf9b2634461838e079
parent90fab0f9d8e275f26f2e58bd5aaf9a3ac389dfaa
Be careful about scheduling nodes above previous calls. It increase usages of
more callee-saved registers and introduce copies. Only allows it if scheduling
a node above calls would end up lessen register pressure.

Call operands also has added ABI restrictions for register allocation, so be
extra careful with hoisting them above calls.

rdar://9329627

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130245 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
test/CodeGen/ARM/2011-04-26-SchedTweak.ll [new file with mode: 0644]
test/CodeGen/ARM/shifter_operand.ll
test/CodeGen/Thumb/2010-01-15-local-alloc-spill-physical.ll [deleted file]
test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll
test/CodeGen/X86/pic.ll