diff --git a/test/CodeGenCXX/copy-constructor-elim-2.cpp b/test/CodeGenCXX/copy-constructor-elim-2.cpp
index f71ba7c..50aea94 100644
--- a/test/CodeGenCXX/copy-constructor-elim-2.cpp
+++ b/test/CodeGenCXX/copy-constructor-elim-2.cpp
@@ -48,7 +48,7 @@
 
 void f() {
   // Verify that we don't mark the copy constructor in this expression as elidable.
-  // CHECK: call void @_ZN6PR86831AC1ERKS0_
+  // CHECK: call {{.*}} @_ZN6PR86831AC1ERKS0_
   A a = (B().a);
 }
 
diff --git a/test/CodeGenCXX/default-constructor-default-argument.cpp b/test/CodeGenCXX/default-constructor-default-argument.cpp
index f2c7f6d..374a967 100644
--- a/test/CodeGenCXX/default-constructor-default-argument.cpp
+++ b/test/CodeGenCXX/default-constructor-default-argument.cpp
@@ -5,4 +5,4 @@
 struct B : public A {};
 B x;
 
-// CHECK: call void @_ZN1AC2Ei
+// CHECK: call {{.*}} @_ZN1AC2Ei
diff --git a/test/CodeGenCXX/mangle-template.cpp b/test/CodeGenCXX/mangle-template.cpp
index 463f15d..0562206 100644
--- a/test/CodeGenCXX/mangle-template.cpp
+++ b/test/CodeGenCXX/mangle-template.cpp
@@ -82,7 +82,7 @@
     X(U*, typename int_c<(meta<T>::value + meta<U>::value)>::type *) { }
   };
 
-  // CHECK: define weak_odr void @_ZN5test71XIiEC1IdEEPT_PNS_5int_cIXplL_ZNS_4metaIiE5valueEEsrNS6_IS3_EE5valueEE4typeE(%"class.test1::T"* %this, double*, float*) unnamed_addr
+  // CHECK: define weak_odr {{.*}} @_ZN5test71XIiEC1IdEEPT_PNS_5int_cIXplL_ZNS_4metaIiE5valueEEsrNS6_IS3_EE5valueEE4typeE(%"class.test1::T"* %this, double*, float*) unnamed_addr
   template X<int>::X(double*, float*);
 }
 
diff --git a/test/CodeGenCXX/member-init-assignment.cpp b/test/CodeGenCXX/member-init-assignment.cpp
index 128cb88..9375784 100644
--- a/test/CodeGenCXX/member-init-assignment.cpp
+++ b/test/CodeGenCXX/member-init-assignment.cpp
@@ -10,7 +10,7 @@
 Foo::Foo(unsigned arg) : file_id(arg = 42)
 { }
 
-// CHECK: define void @_ZN3FooC2Ej(%struct.Foo* %this, i32 %arg) unnamed_addr
+// CHECK: define {{.*}} @_ZN3FooC2Ej(%struct.Foo* %this, i32 %arg) unnamed_addr
 // CHECK: [[ARG:%.*]] = alloca i32
 // CHECK: store i32 42, i32* [[ARG]]
 // CHECK: store i32 42, i32* %{{.*}}
diff --git a/test/CodeGenCXX/member-init-ctor.cpp b/test/CodeGenCXX/member-init-ctor.cpp
index d9a6734..d70947b 100644
--- a/test/CodeGenCXX/member-init-ctor.cpp
+++ b/test/CodeGenCXX/member-init-ctor.cpp
@@ -7,7 +7,7 @@
 
 S s;
 
-// CHECK: define{{.*}} void @_ZN1SC2Ev(
+// CHECK: define {{.*}} @_ZN1SC2Ev(
 // CHECK-NOT }
 // CHECK: call {{.*}} @_Z1bv()
 // CHECK-NOT }
diff --git a/test/CodeGenCXX/nrvo.cpp b/test/CodeGenCXX/nrvo.cpp
index 82caff8..0efb355 100644
--- a/test/CodeGenCXX/nrvo.cpp
+++ b/test/CodeGenCXX/nrvo.cpp
@@ -13,10 +13,10 @@
 // CHECK-EH: define void @_Z5test0v
 X test0() {
   X x;
-  // CHECK:          call void @_ZN1XC1Ev
+  // CHECK:          call {{.*}} @_ZN1XC1Ev
   // CHECK-NEXT:     ret void
 
-  // CHECK-EH:       call void @_ZN1XC1Ev
+  // CHECK-EH:       call {{.*}} @_ZN1XC1Ev
   // CHECK-EH-NEXT:  ret void
   return x;
 }
@@ -24,13 +24,13 @@
 // CHECK: define void @_Z5test1b(
 // CHECK-EH: define void @_Z5test1b(
 X test1(bool B) {
-  // CHECK:      tail call void @_ZN1XC1Ev
+  // CHECK:      tail call {{.*}} @_ZN1XC1Ev
   // CHECK-NEXT: ret void
   X x;
   if (B)
     return (x);
   return x;
-  // CHECK-EH:      tail call void @_ZN1XC1Ev
+  // CHECK-EH:      tail call {{.*}} @_ZN1XC1Ev
   // CHECK-EH-NEXT: ret void
 }
 
@@ -45,18 +45,18 @@
     return y;
   return x;
 
-  // CHECK: call void @_ZN1XC1Ev
-  // CHECK-NEXT: call void @_ZN1XC1Ev
-  // CHECK: call void @_ZN1XC1ERKS_
-  // CHECK: call void @_ZN1XC1ERKS_
-  // CHECK: call void @_ZN1XD1Ev
-  // CHECK: call void @_ZN1XD1Ev
+  // CHECK: call {{.*}} @_ZN1XC1Ev
+  // CHECK-NEXT: call {{.*}} @_ZN1XC1Ev
+  // CHECK: call {{.*}} @_ZN1XC1ERKS_
+  // CHECK: call {{.*}} @_ZN1XC1ERKS_
+  // CHECK: call {{.*}} @_ZN1XD1Ev
+  // CHECK: call {{.*}} @_ZN1XD1Ev
   // CHECK: ret void
 
   // The block ordering in the -fexceptions IR is unfortunate.
 
-  // CHECK-EH:      call void @_ZN1XC1Ev
-  // CHECK-EH-NEXT: invoke void @_ZN1XC1Ev
+  // CHECK-EH:      call {{.*}} @_ZN1XC1Ev
+  // CHECK-EH-NEXT: invoke {{.*}} @_ZN1XC1Ev
   // -> %invoke.cont, %lpad
 
   // %invoke.cont:
@@ -64,7 +64,7 @@
   // -> %if.then, %if.end
 
   // %if.then: returning 'x'
-  // CHECK-EH:      invoke void @_ZN1XC1ERKS_
+  // CHECK-EH:      invoke {{.*}} @_ZN1XC1ERKS_
   // -> %cleanup, %lpad1
 
   // %lpad: landing pad for ctor of 'y', dtor of 'y'
@@ -74,23 +74,23 @@
   // -> %eh.cleanup
 
   // %lpad1: landing pad for return copy ctors, EH cleanup for 'y'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %eh.cleanup, %terminate.lpad
 
   // %if.end: returning 'y'
-  // CHECK-EH: invoke void @_ZN1XC1ERKS_
+  // CHECK-EH: invoke {{.*}} @_ZN1XC1ERKS_
   // -> %cleanup, %lpad1
 
   // %cleanup: normal cleanup for 'y'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %invoke.cont11, %lpad
 
   // %invoke.cont11: normal cleanup for 'x'
-  // CHECK-EH:      call void @_ZN1XD1Ev
+  // CHECK-EH:      call {{.*}} @_ZN1XD1Ev
   // CHECK-EH-NEXT: ret void
 
   // %eh.cleanup:  EH cleanup for 'x'
-  // CHECK-EH: invoke void @_ZN1XD1Ev
+  // CHECK-EH: invoke {{.*}} @_ZN1XD1Ev
   // -> %invoke.cont17, %terminate.lpad
 
   // %invoke.cont17: rethrow block for %eh.cleanup.
@@ -121,13 +121,13 @@
 // CHECK: define void @_Z5test4b
 X test4(bool B) {
   {
-    // CHECK: tail call void @_ZN1XC1Ev
+    // CHECK: tail call {{.*}} @_ZN1XC1Ev
     X x;
     // CHECK: br i1
     if (B)
       return x;
   }
-  // CHECK: tail call void @_ZN1XD1Ev
+  // CHECK: tail call {{.*}} @_ZN1XD1Ev
   // CHECK: tail call void @exit(i32 1)
   exit(1);
 }
@@ -139,7 +139,7 @@
   try {
     may_throw();
   } catch (X x) {
-    // CHECK-EH: invoke void @_ZN1XC1ERKS_
+    // CHECK-EH: invoke {{.*}} @_ZN1XC1ERKS_
     // CHECK-EH: call void @__cxa_end_catch()
     // CHECK-EH: ret void
     return x;
diff --git a/test/CodeGenCXX/pr9965.cpp b/test/CodeGenCXX/pr9965.cpp
index b87fcf4..596dee9 100644
--- a/test/CodeGenCXX/pr9965.cpp
+++ b/test/CodeGenCXX/pr9965.cpp
@@ -7,6 +7,6 @@
 
 X<int> x;
 // CHECK: define internal void @__cxx_global_var_init()
-// CHECK: call void @_ZN1XIiEC1Ev
-// CHECK: define linkonce_odr void @_ZN1XIiEC1Ev
-// CHECK: define linkonce_odr void @_ZN1XIiEC2Ev
+// CHECK: call {{.*}} @_ZN1XIiEC1Ev
+// CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC1Ev
+// CHECK: define linkonce_odr {{.*}} @_ZN1XIiEC2Ev
diff --git a/test/CodeGenCXX/stmtexpr.cpp b/test/CodeGenCXX/stmtexpr.cpp
index 0828d59..1f0e4ac 100644
--- a/test/CodeGenCXX/stmtexpr.cpp
+++ b/test/CodeGenCXX/stmtexpr.cpp
@@ -46,11 +46,11 @@
 
 void foo4()
 {
-// CHECK: call void @_ZN1AC1Ei
-// CHECK: call void @_ZN1AC1ERKS_
-// CHECK: call void @_ZN1AD1Ev
-// CHECK: call void @_ZN1BC1ERK1A
-// CHECK: call void @_ZN1AD1Ev
+// CHECK: call {{.*}} @_ZN1AC1Ei
+// CHECK: call {{.*}} @_ZN1AC1ERKS_
+// CHECK: call {{.*}} @_ZN1AD1Ev
+// CHECK: call {{.*}} @_ZN1BC1ERK1A
+// CHECK: call {{.*}} @_ZN1AD1Ev
   const B &b = ({ A a(1); a; });
   if (b.i != 1)
     abort();
diff --git a/test/CodeGenCXX/virtual-base-destructor-call.cpp b/test/CodeGenCXX/virtual-base-destructor-call.cpp
index f028e4c..2424d21 100644
--- a/test/CodeGenCXX/virtual-base-destructor-call.cpp
+++ b/test/CodeGenCXX/virtual-base-destructor-call.cpp
@@ -18,34 +18,34 @@
 
 // basic_iostream's complete dtor calls its base dtor, then its
 // virtual base's dtor.
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED1Ev(%struct.basic_iostream* %this) unnamed_addr
-//  CHECK: call void @_ZN14basic_iostreamIcED2Ev
-//  CHECK: call void @_ZN9basic_iosD2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED1Ev(%struct.basic_iostream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN14basic_iostreamIcED2Ev
+//  CHECK: call {{.*}} @_ZN9basic_iosD2Ev
 
 // basic_iostream's base dtor calls its non-virtual base dtor.
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED2Ev(%struct.basic_iostream* %this, i8** %vtt) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED2Ev(%struct.basic_iostream* %this, i8** %vtt) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED2Ev
 //  CHECK: }
 
 // basic_iostream's deleting dtor calls its complete dtor, then
 // operator delete().
-//  CHECK: define linkonce_odr void @_ZN14basic_iostreamIcED0Ev(%struct.basic_iostream* %this) unnamed_addr
-//  CHECK: call void @_ZN14basic_iostreamIcED1Ev
-//  CHECK: call void @_ZdlPv
+//  CHECK: define linkonce_odr {{.*}} @_ZN14basic_iostreamIcED0Ev(%struct.basic_iostream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN14basic_iostreamIcED1Ev
+//  CHECK: call {{.*}} @_ZdlPv
 
 // basic_istream's complete dtor calls the base dtor,
 // then its virtual base's base dtor.
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED1Ev(%struct.basic_istream* %this) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED2Ev
-//  CHECK: call void @_ZN9basic_iosD2Ev
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED1Ev(%struct.basic_istream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED2Ev
+//  CHECK: call {{.*}} @_ZN9basic_iosD2Ev
 
 // basic_istream's deleting dtor calls the complete dtor, then
 // operator delete().
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED0Ev(%struct.basic_istream* %this) unnamed_addr
-//  CHECK: call void @_ZN13basic_istreamIcED1Ev
-//  CHECK: call void @_ZdlPv
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED0Ev(%struct.basic_istream* %this) unnamed_addr
+//  CHECK: call {{.*}} @_ZN13basic_istreamIcED1Ev
+//  CHECK: call {{.*}} @_ZdlPv
 
 // basic_istream's base dtor is a no-op.
-//  CHECK: define linkonce_odr void @_ZN13basic_istreamIcED2Ev(%struct.basic_istream* %this, i8** %vtt) unnamed_addr
+//  CHECK: define linkonce_odr {{.*}} @_ZN13basic_istreamIcED2Ev(%struct.basic_istream* %this, i8** %vtt) unnamed_addr
 //  CHECK-NOT: call
 //  CHECK: }
diff --git a/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp b/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp
index 285e3da..0d3574e 100644
--- a/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp
+++ b/test/CodeGenCXX/virtual-pseudo-destructor-call.cpp
@@ -5,6 +5,10 @@
 };
 
 void f(A *a) {
-  // CHECK: call void %
+  // CHECK: define {{.*}} @_Z1fP1A
+  // CHECK: load
+  // CHECK: load
+  // CHECK: [[CALLEE:%[a-zA-Z0-9.]*]] = load
+  // CHECK: call {{.*}} [[CALLEE]](
   a->~A();
 }
