Make these tests more robust against IRgen choosing to emit more named metadata.

llvm-svn: 186279
diff --git a/clang/test/CodeGenCXX/pr12251.cpp b/clang/test/CodeGenCXX/pr12251.cpp
index f3f2ec4..261c558 100644
--- a/clang/test/CodeGenCXX/pr12251.cpp
+++ b/clang/test/CodeGenCXX/pr12251.cpp
@@ -5,12 +5,12 @@
   return *x;
 }
 // CHECK: define zeroext i1 @_Z1fPb
-// CHECK: load i8* %{{.*}}, align 1, !range !0
+// CHECK: load i8* %{{[^ ]*}}, align 1, !range [[RANGE_i8_0_2:![^ ]*]]
 
 // Only enum-tests follow. Ensure that after the bool test, no further range
 // metadata shows up when strict enums are disabled.
 // NO-STRICT-ENUMS: define zeroext i1 @_Z1fPb
-// NO-STRICT-ENUMS: load i8* %{{.*}}, align 1, !range !0
+// NO-STRICT-ENUMS: load i8* %{{[^ ]*}}, align 1, !range
 // NO-STRICT-ENUMS-NOT: !range
 
 enum e1 { };
@@ -18,77 +18,77 @@
   return *x;
 }
 // CHECK: define i32 @_Z2g1P2e1
-// CHECK: load i32* %x, align 4, !range !1
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_1:![^ ]*]]
 
 enum e2 { e2_a = 0 };
 e2 g2(e2 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g2P2e2
-// CHECK: load i32* %x, align 4, !range !1
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_1]]
 
 enum e3 { e3_a = 16 };
 e3 g3(e3 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g3P2e3
-// CHECK: load i32* %x, align 4, !range !2
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_32:![^ ]*]]
 
 enum e4 { e4_a = -16};
 e4 g4(e4 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g4P2e4
-// CHECK: load i32* %x, align 4, !range !3
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m16_16:![^ ]*]]
 
 enum e5 { e5_a = -16, e5_b = 16};
 e5 g5(e5 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g5P2e5
-// CHECK: load i32* %x, align 4, !range !4
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m32_32:![^ ]*]]
 
 enum e6 { e6_a = -1 };
 e6 g6(e6 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g6P2e6
-// CHECK: load i32* %x, align 4, !range !5
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m1_1:![^ ]*]]
 
 enum e7 { e7_a = -16, e7_b = 2};
 e7 g7(e7 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g7P2e7
-// CHECK: load i32* %x, align 4, !range !3
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m16_16]]
 
 enum e8 { e8_a = -17};
 e8 g8(e8 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g8P2e8
-// CHECK: load i32* %x, align 4, !range !4
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m32_32:![^ ]*]]
 
 enum e9 { e9_a = 17};
 e9 g9(e9 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z2g9P2e9
-// CHECK: load i32* %x, align 4, !range !2
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_0_32]]
 
 enum e10 { e10_a = -16, e10_b = 32};
 e10 g10(e10 *x) {
   return *x;
 }
 // CHECK: define i32 @_Z3g10P3e10
-// CHECK: load i32* %x, align 4, !range !6
+// CHECK: load i32* %x, align 4, !range [[RANGE_i32_m64_64:![^ ]*]]
 
 enum e11 {e11_a = 4294967296 };
 enum e11 g11(enum e11 *x) {
   return *x;
 }
 // CHECK: define i64 @_Z3g11P3e11
-// CHECK: load i64* %x, align {{[84]}}, !range !7
+// CHECK: load i64* %x, align {{[84]}}, !range [[RANGE_i64_0_2pow33:![^ ]*]]
 
 enum e12 {e12_a = 9223372036854775808U };
 enum e12 g12(enum e12 *x) {
@@ -136,11 +136,11 @@
 // CHECK: ret
 
 
-// CHECK: !0 = metadata !{i8 0, i8 2}
-// CHECK: !1 = metadata !{i32 0, i32 1}
-// CHECK: !2 = metadata !{i32 0, i32 32}
-// CHECK: !3 = metadata !{i32 -16, i32 16}
-// CHECK: !4 = metadata !{i32 -32, i32 32}
-// CHECK: !5 = metadata !{i32 -1, i32 1}
-// CHECK: !6 = metadata !{i32 -64, i32 64}
-// CHECK: !7 = metadata !{i64 0, i64 8589934592}
+// CHECK: [[RANGE_i8_0_2]] = metadata !{i8 0, i8 2}
+// CHECK: [[RANGE_i32_0_1]] = metadata !{i32 0, i32 1}
+// CHECK: [[RANGE_i32_0_32]] = metadata !{i32 0, i32 32}
+// CHECK: [[RANGE_i32_m16_16]] = metadata !{i32 -16, i32 16}
+// CHECK: [[RANGE_i32_m32_32]] = metadata !{i32 -32, i32 32}
+// CHECK: [[RANGE_i32_m1_1]] = metadata !{i32 -1, i32 1}
+// CHECK: [[RANGE_i32_m64_64]] = metadata !{i32 -64, i32 64}
+// CHECK: [[RANGE_i64_0_2pow33]] = metadata !{i64 0, i64 8589934592}