@@ -29,38 +29,38 @@ pub struct Aggregate8(u8);
2929// CHECK-LABEL: @check_bigger_size(
3030#[ no_mangle]
3131pub unsafe fn check_bigger_size ( x : u16 ) -> u32 {
32- // CHECK: call void @llvm.assume( i1 false)
32+ // CHECK: store i1 true, ptr poison, align 1
3333 transmute_unchecked ( x)
3434}
3535
3636// CHECK-LABEL: @check_smaller_size(
3737#[ no_mangle]
3838pub unsafe fn check_smaller_size ( x : u32 ) -> u16 {
39- // CHECK: call void @llvm.assume( i1 false)
39+ // CHECK: store i1 true, ptr poison, align 1
4040 transmute_unchecked ( x)
4141}
4242
4343// CHECK-LABEL: @check_smaller_array(
4444#[ no_mangle]
4545pub unsafe fn check_smaller_array ( x : [ u32 ; 7 ] ) -> [ u32 ; 3 ] {
46- // CHECK: call void @llvm.assume( i1 false)
46+ // CHECK: store i1 true, ptr poison, align 1
4747 transmute_unchecked ( x)
4848}
4949
5050// CHECK-LABEL: @check_bigger_array(
5151#[ no_mangle]
5252pub unsafe fn check_bigger_array ( x : [ u32 ; 3 ] ) -> [ u32 ; 7 ] {
53- // CHECK: call void @llvm.assume( i1 false)
53+ // CHECK: store i1 true, ptr poison, align 1
5454 transmute_unchecked ( x)
5555}
5656
5757// CHECK-LABEL: @check_to_empty_array(
5858#[ no_mangle]
5959#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
6060pub unsafe fn check_to_empty_array ( x : [ u32 ; 5 ] ) -> [ u32 ; 0 ] {
61- // CHECK-NOT: trap
62- // CHECK: call void @llvm.trap
63- // CHECK-NOT: trap
61+ // CHECK: start
62+ // CHECK-NEXT: store i1 true, ptr poison, align 1
63+ // CHECK-NEXT: ret void
6464 mir ! {
6565 {
6666 RET = CastTransmute ( x) ;
@@ -73,9 +73,9 @@ pub unsafe fn check_to_empty_array(x: [u32; 5]) -> [u32; 0] {
7373#[ no_mangle]
7474#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
7575pub unsafe fn check_from_empty_array ( x : [ u32 ; 0 ] ) -> [ u32 ; 5 ] {
76- // CHECK-NOT: call
77- // CHECK: call void @llvm.assume( i1 false)
78- // CHECK-NOT: call
76+ // CHECK: start
77+ // CHECK-NEXT: store i1 true, ptr poison, align 1
78+ // CHECK-NEXT: ret void
7979 mir ! {
8080 {
8181 RET = CastTransmute ( x) ;
@@ -88,9 +88,9 @@ pub unsafe fn check_from_empty_array(x: [u32; 0]) -> [u32; 5] {
8888#[ no_mangle]
8989#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
9090pub unsafe fn check_to_uninhabited ( x : u16 ) {
91- // CHECK-NOT: trap
92- // CHECK: call void @llvm.trap
93- // CHECK-NOT: trap
91+ // CHECK: start
92+ // CHECK-NEXT: store i1 true, ptr poison, align 1
93+ // CHECK-NEXT: ret void
9494 mir ! {
9595 let temp: BigNever ;
9696 {
@@ -104,7 +104,9 @@ pub unsafe fn check_to_uninhabited(x: u16) {
104104#[ no_mangle]
105105#[ custom_mir( dialect = "runtime" , phase = "optimized" ) ]
106106pub unsafe fn check_from_uninhabited ( x : BigNever ) -> u16 {
107- // CHECK: ret i16 poison
107+ // CHECK: start
108+ // CHECK-NEXT: store i1 true, ptr poison, align 1
109+ // CHECK-NEXT: ret i16 poison
108110 mir ! {
109111 {
110112 RET = CastTransmute ( x) ;
@@ -401,9 +403,9 @@ pub unsafe fn check_issue_109992(x: ()) -> [(); 1] {
401403pub unsafe fn check_unit_to_never ( x : ( ) ) {
402404 // This uses custom MIR to avoid MIR optimizations having removed ZST ops.
403405
404- // CHECK-NOT: trap
405- // CHECK: call void @llvm.trap
406- // CHECK-NOT: trap
406+ // CHECK: start
407+ // CHECK-NEXT: store i1 true, ptr poison, align 1
408+ // CHECK-NEXT: ret void
407409 mir ! {
408410 let temp: ZstNever ;
409411 {
@@ -420,6 +422,7 @@ pub unsafe fn check_unit_from_never(x: ZstNever) -> () {
420422 // This uses custom MIR to avoid MIR optimizations having removed ZST ops.
421423
422424 // CHECK: start
425+ // CHECK-NEXT: store i1 true, ptr poison, align 1
423426 // CHECK-NEXT: ret void
424427 mir ! {
425428 {
0 commit comments