CodeGen: do not attempt to invalidate virtual registers for zero-sized phis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224615 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Peter Collingbourne 2014-12-19 20:50:07 +00:00
parent bdfe60c796
commit 9caa5bdec0
2 changed files with 22 additions and 0 deletions

View File

@ -206,6 +206,9 @@ public:
return;
unsigned Reg = It->second;
if (Reg == 0)
return;
LiveOutRegInfo.grow(Reg);
LiveOutRegInfo[Reg].IsValid = false;
}

View File

@ -0,0 +1,19 @@
; RUN: llc < %s
define void @f() {
entry:
br label %bb1
bb1:
%0 = phi [0 x { i8*, i64, i64 }] [ %load, %bb2 ], [ undef, %entry ]
store [0 x { i8*, i64, i64 }] %0, [0 x { i8*, i64, i64 }]* undef, align 8
%1 = icmp eq i64 undef, 0
br i1 %1, label %bb2, label %bb3
bb2:
%load = load [0 x { i8*, i64, i64 }]* undef, align 8
br label %bb1
bb3:
ret void
}