Refine EarlyClobber assert in register scavenger.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 15 Aug 2009 18:16:58 +0000 (18:16 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 15 Aug 2009 18:16:58 +0000 (18:16 +0000)
commit16b794d25accbc4c5db63bb4d172049f052f0a55
treedc4ec2e5e6aac3cbcb19485e02f52ea1784943c1
parentd7e250527c38297c900db43a9e2f1e56b235b3cc
Refine EarlyClobber assert in register scavenger.

It is legal for an inline asm operand to use an earlyclobber register if the
use operand is tied to the earlyclobber operand. The issue is discussed here:

  http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html

We should perhaps let only the machine code verifier worry about these finer
details. EarlyClobber operands are not really interesting to the scavenger.

This fixes PR4528 for the third time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79122 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegisterScavenging.cpp
test/CodeGen/ARM/2009-08-15-RegScavenger-EarlyClobber.ll [new file with mode: 0644]