88#![ feature( inline_const) ]
99#![ allow( unreachable_code) ]
1010
11- use std:: mem:: MaybeUninit ;
1211use std:: intrinsics:: { transmute, transmute_unchecked} ;
12+ use std:: mem:: MaybeUninit ;
1313
1414// Some of these need custom MIR to not get removed by MIR optimizations.
1515use std:: intrinsics:: mir:: * ;
@@ -61,7 +61,7 @@ pub unsafe fn check_bigger_array(x: [u32; 3]) -> [u32; 7] {
6161#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
6262pub unsafe fn check_to_uninhabited ( x : u16 ) -> BigNever {
6363 // CHECK: call void @llvm.trap
64- mir ! {
64+ mir ! {
6565 {
6666 RET = CastTransmute ( x) ;
6767 Return ( )
@@ -74,7 +74,7 @@ pub unsafe fn check_to_uninhabited(x: u16) -> BigNever {
7474#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
7575pub unsafe fn check_from_uninhabited ( x : BigNever ) -> u16 {
7676 // CHECK: ret i16 poison
77- mir ! {
77+ mir ! {
7878 {
7979 RET = CastTransmute ( x) ;
8080 Return ( )
@@ -89,9 +89,7 @@ pub unsafe fn check_intermediate_passthrough(x: u32) -> i32 {
8989 // CHECK: %[[TMP:.+]] = add i32 1, %x
9090 // CHECK: %[[RET:.+]] = add i32 %[[TMP]], 1
9191 // CHECK: ret i32 %[[RET]]
92- unsafe {
93- transmute :: < u32 , i32 > ( 1 + x) + 1
94- }
92+ unsafe { transmute :: < u32 , i32 > ( 1 + x) + 1 }
9593}
9694
9795// CHECK-LABEL: @check_nop_pair(
@@ -101,9 +99,7 @@ pub unsafe fn check_nop_pair(x: (u8, i8)) -> (i8, u8) {
10199 // CHECK: %0 = insertvalue { i8, i8 } poison, i8 %x.0, 0
102100 // CHECK: %1 = insertvalue { i8, i8 } %0, i8 %x.1, 1
103101 // CHECK: ret { i8, i8 } %1
104- unsafe {
105- transmute ( x)
106- }
102+ unsafe { transmute ( x) }
107103}
108104
109105// CHECK-LABEL: @check_to_newtype(
@@ -135,9 +131,9 @@ pub unsafe fn check_aggregate_to_bool(x: Aggregate8) -> bool {
135131// CHECK-LABEL: @check_aggregate_from_bool(
136132#[ no_mangle]
137133pub unsafe fn check_aggregate_from_bool ( x : bool ) -> Aggregate8 {
138- // CHECK: %0 = alloca %Aggregate8, align 1
134+ // CHECK: %_0 = alloca %Aggregate8, align 1
139135 // CHECK: %[[BYTE:.+]] = zext i1 %x to i8
140- // CHECK: store i8 %[[BYTE]], ptr %0 , align 1
136+ // CHECK: store i8 %[[BYTE]], ptr %_0 , align 1
141137 transmute ( x)
142138}
143139
@@ -162,8 +158,8 @@ pub unsafe fn check_byte_from_bool(x: bool) -> u8 {
162158// CHECK-LABEL: @check_to_pair(
163159#[ no_mangle]
164160pub unsafe fn check_to_pair ( x : u64 ) -> Option < i32 > {
165- // CHECK: %0 = alloca { i32, i32 }, align 4
166- // CHECK: store i64 %x, ptr %0 , align 4
161+ // CHECK: %_0 = alloca { i32, i32 }, align 4
162+ // CHECK: store i64 %x, ptr %_0 , align 4
167163 transmute ( x)
168164}
169165
@@ -174,37 +170,37 @@ pub unsafe fn check_from_pair(x: Option<i32>) -> u64 {
174170 // immediates so we can write using the destination alloca's alignment.
175171 const { assert ! ( std:: mem:: align_of:: <Option <i32 >>( ) == 4 ) } ;
176172
177- // CHECK: %0 = alloca i64, align 8
178- // CHECK: store i32 %x.0, ptr %1 , align 8
179- // CHECK: store i32 %x.1, ptr %2 , align 4
180- // CHECK: %3 = load i64, ptr %0 , align 8
181- // CHECK: ret i64 %3
173+ // CHECK: %_0 = alloca i64, align 8
174+ // CHECK: store i32 %x.0, ptr %0 , align 8
175+ // CHECK: store i32 %x.1, ptr %1 , align 4
176+ // CHECK: %2 = load i64, ptr %_0 , align 8
177+ // CHECK: ret i64 %2
182178 transmute ( x)
183179}
184180
185181// CHECK-LABEL: @check_to_float(
186182#[ no_mangle]
187183pub unsafe fn check_to_float ( x : u32 ) -> f32 {
188184 // CHECK-NOT: alloca
189- // CHECK: %0 = bitcast i32 %x to float
190- // CHECK: ret float %0
185+ // CHECK: %_0 = bitcast i32 %x to float
186+ // CHECK: ret float %_0
191187 transmute ( x)
192188}
193189
194190// CHECK-LABEL: @check_from_float(
195191#[ no_mangle]
196192pub unsafe fn check_from_float ( x : f32 ) -> u32 {
197193 // CHECK-NOT: alloca
198- // CHECK: %0 = bitcast float %x to i32
199- // CHECK: ret i32 %0
194+ // CHECK: %_0 = bitcast float %x to i32
195+ // CHECK: ret i32 %_0
200196 transmute ( x)
201197}
202198
203199// CHECK-LABEL: @check_to_bytes(
204200#[ no_mangle]
205201pub unsafe fn check_to_bytes ( x : u32 ) -> [ u8 ; 4 ] {
206- // CHECK: %0 = alloca [4 x i8], align 1
207- // CHECK: store i32 %x, ptr %0 , align 1
202+ // CHECK: %_0 = alloca [4 x i8], align 1
203+ // CHECK: store i32 %x, ptr %_0 , align 1
208204 transmute ( x)
209205}
210206
@@ -220,10 +216,10 @@ pub unsafe fn check_from_bytes(x: [u8; 4]) -> u32 {
220216// CHECK-LABEL: @check_to_aggregate(
221217#[ no_mangle]
222218pub unsafe fn check_to_aggregate ( x : u64 ) -> Aggregate64 {
223- // CHECK: %0 = alloca %Aggregate64, align 4
224- // CHECK: store i64 %x, ptr %0 , align 4
225- // CHECK: %1 = load i64, ptr %0 , align 4
226- // CHECK: ret i64 %1
219+ // CHECK: %_0 = alloca %Aggregate64, align 4
220+ // CHECK: store i64 %x, ptr %_0 , align 4
221+ // CHECK: %0 = load i64, ptr %_0 , align 4
222+ // CHECK: ret i64 %0
227223 transmute ( x)
228224}
229225
@@ -240,7 +236,7 @@ pub unsafe fn check_from_aggregate(x: Aggregate64) -> u64 {
240236#[ no_mangle]
241237pub unsafe fn check_long_array_less_aligned ( x : [ u64 ; 100 ] ) -> [ u16 ; 400 ] {
242238 // CHECK-NEXT: start
243- // CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %0 , ptr align 8 %x, i64 800, i1 false)
239+ // CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 2 %_0 , ptr align 8 %x, i64 800, i1 false)
244240 // CHECK-NEXT: ret void
245241 transmute ( x)
246242}
@@ -249,7 +245,7 @@ pub unsafe fn check_long_array_less_aligned(x: [u64; 100]) -> [u16; 400] {
249245#[ no_mangle]
250246pub unsafe fn check_long_array_more_aligned ( x : [ u8 ; 100 ] ) -> [ u32 ; 25 ] {
251247 // CHECK-NEXT: start
252- // CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0 , ptr align 1 %x, i64 100, i1 false)
248+ // CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_0 , ptr align 1 %x, i64 100, i1 false)
253249 // CHECK-NEXT: ret void
254250 transmute ( x)
255251}
@@ -268,8 +264,8 @@ pub unsafe fn check_pair_with_bool(x: (u8, bool)) -> (bool, i8) {
268264pub unsafe fn check_float_to_pointer ( x : f64 ) -> * const ( ) {
269265 // CHECK-NOT: alloca
270266 // CHECK: %0 = bitcast double %x to i64
271- // CHECK: %1 = inttoptr i64 %0 to ptr
272- // CHECK: ret ptr %1
267+ // CHECK: %_0 = inttoptr i64 %0 to ptr
268+ // CHECK: ret ptr %_0
273269 transmute ( x)
274270}
275271
@@ -278,8 +274,8 @@ pub unsafe fn check_float_to_pointer(x: f64) -> *const () {
278274pub unsafe fn check_float_from_pointer ( x : * const ( ) ) -> f64 {
279275 // CHECK-NOT: alloca
280276 // CHECK: %0 = ptrtoint ptr %x to i64
281- // CHECK: %1 = bitcast i64 %0 to double
282- // CHECK: ret double %1
277+ // CHECK: %_0 = bitcast i64 %0 to double
278+ // CHECK: ret double %_0
283279 transmute ( x)
284280}
285281
@@ -343,10 +339,10 @@ pub unsafe fn check_issue_110005(x: (usize, bool)) -> Option<Box<[u8]>> {
343339// CHECK-LABEL: @check_pair_to_dst_ref(
344340#[ no_mangle]
345341pub unsafe fn check_pair_to_dst_ref < ' a > ( x : ( usize , usize ) ) -> & ' a [ u8 ] {
346- // CHECK: %0 = inttoptr i64 %x.0 to ptr
347- // CHECK: %1 = insertvalue { ptr, i64 } poison, ptr %0, 0
348- // CHECK: %2 = insertvalue { ptr, i64 } %1 , i64 %x.1, 1
349- // CHECK: ret { ptr, i64 } %2
342+ // CHECK: %_0. 0 = inttoptr i64 %x.0 to ptr
343+ // CHECK: %0 = insertvalue { ptr, i64 } poison, ptr %_0. 0, 0
344+ // CHECK: %1 = insertvalue { ptr, i64 } %0 , i64 %x.1, 1
345+ // CHECK: ret { ptr, i64 } %1
350346 transmute ( x)
351347}
352348
@@ -358,7 +354,7 @@ pub unsafe fn check_issue_109992(x: ()) -> [(); 1] {
358354
359355 // CHECK: start
360356 // CHECK-NEXT: ret void
361- mir ! {
357+ mir ! {
362358 {
363359 RET = CastTransmute ( x) ;
364360 Return ( )
@@ -390,10 +386,10 @@ pub struct HighAlignScalar(u8);
390386// CHECK-LABEL: @check_to_overalign(
391387#[ no_mangle]
392388pub unsafe fn check_to_overalign ( x : u64 ) -> HighAlignScalar {
393- // CHECK: %0 = alloca %HighAlignScalar, align 8
394- // CHECK: store i64 %x, ptr %0 , align 8
395- // CHECK: %1 = load i64, ptr %0 , align 8
396- // CHECK: ret i64 %1
389+ // CHECK: %_0 = alloca %HighAlignScalar, align 8
390+ // CHECK: store i64 %x, ptr %_0 , align 8
391+ // CHECK: %0 = load i64, ptr %_0 , align 8
392+ // CHECK: ret i64 %0
397393 transmute ( x)
398394}
399395
0 commit comments