Stack coloring: remove lifetime intervals which contain escaped allocas.
authorNadav Rotem <nrotem@apple.com>
Wed, 12 Sep 2012 04:57:37 +0000 (04:57 +0000)
committerNadav Rotem <nrotem@apple.com>
Wed, 12 Sep 2012 04:57:37 +0000 (04:57 +0000)
commit0a16da445740ca6fcd7a7ca571c1917e77315904
tree1606286dc93a15aa1312287cafcc4cbff3d7d67c
parent2c57a334d762275a0ba478b7c39f384992bcdf6a
Stack coloring: remove lifetime intervals which contain escaped allocas.

The input program may contain intructions which are not inside lifetime
markers. This can happen due to a bug in the compiler or due to a bug in
user code (for example, returning a reference to a local variable).
This commit adds checks that all of the instructions in the function and
invalidates lifetime ranges which do not contain all of the instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163678 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/StackColoring.cpp
test/CodeGen/X86/StackColoring.ll