Refine covariant return value adjustments for thunks when null
pointers are returned.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86120 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/virt.cpp b/test/CodeGenCXX/virt.cpp
index a85b2df..193a96d 100644
--- a/test/CodeGenCXX/virt.cpp
+++ b/test/CodeGenCXX/virt.cpp
@@ -1076,12 +1076,16 @@
 // CHECK-LPOPT64-NEXT:    subq    $8, %rsp
 // CHECK-LPOPT64-NEXT:Llabel
 // CHECK-LPOPT64-NEXT:    call    __ZN8test16_D4foo1Ev
-// FIXME: We need a == 0 check here
+// CHECK-LPOPT64-NEXT:    testq   %rax, %rax
+// CHECK-LPOPT64-NEXT:    je      LBB102_2
 // CHECK-LPOPT64-NEXT:    movq    16(%rax), %rcx
 // CHECK-LPOPT64-NEXT:    movq    -32(%rcx), %rcx
 // CHECK-LPOPT64-NEXT:    leaq    16(%rcx,%rax), %rax
 // CHECK-LPOPT64-NEXT:    addq    $8, %rsp
 // CHECK-LPOPT64-NEXT:    ret
+// CHECK-LPOPT64-NEXT:LBB102_2:
+// CHECK-LPOPT64-NEXT:    addq    $8, %rsp
+// CHECK-LPOPT64-NEXT:    ret
 
 
 class test17_B1 {