@@ -25,48 +25,48 @@ pub fn maybeuninit_boolean(x: MaybeUninit<bool>) -> MaybeUninit<bool> {
25
25
x
26
26
}
27
27
28
- // CHECK: @readonly_borrow(i32* noalias readonly align 4 dereferenceable(4) %_1)
28
+ // CHECK: @readonly_borrow(i32* noalias noundef readonly align 4 dereferenceable(4) %_1)
29
29
// FIXME #25759 This should also have `nocapture`
30
30
#[no_mangle]
31
31
pub fn readonly_borrow(_: &i32) {
32
32
}
33
33
34
- // CHECK: @static_borrow(i32* noalias readonly align 4 dereferenceable(4) %_1)
34
+ // CHECK: @static_borrow(i32* noalias noundef readonly align 4 dereferenceable(4) %_1)
35
35
// static borrow may be captured
36
36
#[no_mangle]
37
37
pub fn static_borrow(_: &'static i32) {
38
38
}
39
39
40
- // CHECK: @named_borrow(i32* noalias readonly align 4 dereferenceable(4) %_1)
40
+ // CHECK: @named_borrow(i32* noalias noundef readonly align 4 dereferenceable(4) %_1)
41
41
// borrow with named lifetime may be captured
42
42
#[no_mangle]
43
43
pub fn named_borrow<'r>(_: &'r i32) {
44
44
}
45
45
46
- // CHECK: @unsafe_borrow(i16* align 2 dereferenceable(2) %_1)
46
+ // CHECK: @unsafe_borrow(i16* noundef align 2 dereferenceable(2) %_1)
47
47
// unsafe interior means this isn't actually readonly and there may be aliases ...
48
48
#[no_mangle]
49
49
pub fn unsafe_borrow(_: &UnsafeInner) {
50
50
}
51
51
52
- // CHECK: @mutable_unsafe_borrow(i16* noalias align 2 dereferenceable(2) %_1)
52
+ // CHECK: @mutable_unsafe_borrow(i16* noalias noundef align 2 dereferenceable(2) %_1)
53
53
// ... unless this is a mutable borrow, those never alias
54
54
#[no_mangle]
55
55
pub fn mutable_unsafe_borrow(_: &mut UnsafeInner) {
56
56
}
57
57
58
- // CHECK: @mutable_borrow(i32* noalias align 4 dereferenceable(4) %_1)
58
+ // CHECK: @mutable_borrow(i32* noalias noundef align 4 dereferenceable(4) %_1)
59
59
// FIXME #25759 This should also have `nocapture`
60
60
#[no_mangle]
61
61
pub fn mutable_borrow(_: &mut i32) {
62
62
}
63
63
64
- // CHECK: @indirect_struct(%S* noalias nocapture dereferenceable(32) %_1)
64
+ // CHECK: @indirect_struct(%S* noalias nocapture noundef dereferenceable(32) %_1)
65
65
#[no_mangle]
66
66
pub fn indirect_struct(_: S) {
67
67
}
68
68
69
- // CHECK: @borrowed_struct(%S* noalias readonly align 4 dereferenceable(32) %_1)
69
+ // CHECK: @borrowed_struct(%S* noalias noundef readonly align 4 dereferenceable(32) %_1)
70
70
// FIXME #25759 This should also have `nocapture`
71
71
#[no_mangle]
72
72
pub fn borrowed_struct(_: &S) {
@@ -85,7 +85,7 @@ pub fn _box(x: Box<i32>) -> Box<i32> {
85
85
x
86
86
}
87
87
88
- // CHECK: @struct_return(%S* noalias nocapture sret(%S) dereferenceable(32){{( %0)?}})
88
+ // CHECK: @struct_return(%S* noalias nocapture noundef sret(%S) dereferenceable(32){{( %0)?}})
89
89
#[no_mangle]
90
90
pub fn struct_return() -> S {
91
91
S {
@@ -128,18 +128,18 @@ pub fn raw_slice(_: *const [u8]) {
128
128
pub fn str(_: &[u8]) {
129
129
}
130
130
131
- // CHECK: @trait_borrow({}* noundef nonnull align 1 %_1.0, [3 x [[USIZE]]]* noalias readonly align {{.*}} dereferenceable({{.*}}) %_1.1)
131
+ // CHECK: @trait_borrow({}* noundef nonnull align 1 %_1.0, [3 x [[USIZE]]]* noalias noundef readonly align {{.*}} dereferenceable({{.*}}) %_1.1)
132
132
// FIXME #25759 This should also have `nocapture`
133
133
#[no_mangle]
134
134
pub fn trait_borrow(_: &Drop) {
135
135
}
136
136
137
- // CHECK: @trait_raw({}* %_1.0, [3 x [[USIZE]]]* noalias readonly align {{.*}} dereferenceable({{.*}}) %_1.1)
137
+ // CHECK: @trait_raw({}* %_1.0, [3 x [[USIZE]]]* noalias noundef readonly align {{.*}} dereferenceable({{.*}}) %_1.1)
138
138
#[no_mangle]
139
139
pub fn trait_raw(_: *const Drop) {
140
140
}
141
141
142
- // CHECK: @trait_box({}* noalias noundef nonnull align 1{{( %0)?}}, [3 x [[USIZE]]]* noalias readonly align {{.*}} dereferenceable({{.*}}){{( %1)?}})
142
+ // CHECK: @trait_box({}* noalias noundef nonnull align 1{{( %0)?}}, [3 x [[USIZE]]]* noalias noundef readonly align {{.*}} dereferenceable({{.*}}){{( %1)?}})
143
143
#[no_mangle]
144
144
pub fn trait_box(_: Box<Drop>) {
145
145
}
0 commit comments