Don't add <imp-def> operands during register rewriting.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 7 Sep 2010 22:38:45 +0000 (22:38 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 7 Sep 2010 22:38:45 +0000 (22:38 +0000)
commit6b964cd21118e816a4669d660d2c96751dc7ccf3
treee49f752af5551c9dcde1cc1eb40393c672d63896
parent447e7ac913181ec3eae7c56a73c059df5382c029
Don't add <imp-def> operands during register rewriting.

LiveIntervals already adds <imp-def> operands for super-registers when a subreg
def defines the whole register. Thus, it is not necessary to do it again when
rewriting.

In fact, the super-register imp-defs caused miscompilations because the late
scheduler couldn't see that the super-register was read.

We still add super-reg <imp-use,kill> operands when rewriting virtuals to
physicals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113299 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/VirtRegRewriter.cpp