More devirtualization improvements.
llvm-svn: 83883
diff --git a/clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp b/clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
index 3dd2551..76f9520 100644
--- a/clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
+++ b/clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
@@ -2,8 +2,12 @@
struct A {
virtual void f();
+
+ A h();
};
+A g();
+
void f(A a, A *ap, A& ar) {
// This should not be a virtual function call.
@@ -18,4 +22,10 @@
// CHECK: call void @_ZN1A1fEv
A().f();
+
+ // CHECK: call void @_ZN1A1fEv
+ g().f();
+
+ // CHECK: call void @_ZN1A1fEv
+ a.h().f();
}