Minimize the slot indexes spanned by register ranges created when splitting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 2 May 2011 05:29:58 +0000 (05:29 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 2 May 2011 05:29:58 +0000 (05:29 +0000)
commitbb30dd40ed0873e39fec4dfa321091a0c8d1abfc
tree39b71daa0cb178f98f176b164ad2db3677dd6ee2
parent8e33095cd45b8be6b8dba9be8b2e72164494a7fe
Minimize the slot indexes spanned by register ranges created when splitting.

When an interfering live range ends at a dead slot index between two
instructions, make sure that the inserted copy instruction gets a slot index
after the dead ones. This makes it possible to avoid the interference.

Ideally, there shouldn't be interference ending at a deleted instruction, but
physical register coalescing can sometimes do that to sub-registers.

This fixes PR9823.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130687 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LiveRangeEdit.cpp
lib/CodeGen/LiveRangeEdit.h
lib/CodeGen/SplitKit.cpp