@@ -208,17 +208,23 @@ pub fn struct_return() -> S {
208208#[ no_mangle]
209209pub fn helper ( _: usize ) { }
210210
211- // CHECK: @slice(ptr noalias noundef nonnull readonly align 1{{( captures\(address, read_provenance\))?}} %_1.0, [[USIZE]] noundef %_1.1)
211+ // CHECK: @slice(
212+ // CHECK-SAME: ptr noalias noundef nonnull readonly align 1{{( captures\(address, read_provenance\))?}} %_1.0,
213+ // CHECK-SAME: [[USIZE]] noundef range({{i32 0, -2147483648|i64 0, -9223372036854775808}}) %_1.1)
212214// FIXME #25759 This should also have `nocapture`
213215#[ no_mangle]
214216pub fn slice ( _: & [ u8 ] ) { }
215217
216- // CHECK: @mutable_slice(ptr noalias noundef nonnull align 1 %_1.0, [[USIZE]] noundef %_1.1)
218+ // CHECK: @mutable_slice(
219+ // CHECK-SAME: ptr noalias noundef nonnull align 1 %_1.0,
220+ // CHECK-SAME: [[USIZE]] noundef range({{i32 0, -2147483648|i64 0, -9223372036854775808}}) %_1.1)
217221// FIXME #25759 This should also have `nocapture`
218222#[ no_mangle]
219223pub fn mutable_slice ( _: & mut [ u8 ] ) { }
220224
221- // CHECK: @unsafe_slice(ptr noundef nonnull align 2 %_1.0, [[USIZE]] noundef %_1.1)
225+ // CHECK: @unsafe_slice(
226+ // CHECK-SAME: ptr noundef nonnull align 2 %_1.0,
227+ // CHECK-SAME: [[USIZE]] noundef range({{i32 0, 1073741824|i64 0, 4611686018427387904}}) %_1.1)
222228// unsafe interior means this isn't actually readonly and there may be aliases ...
223229#[ no_mangle]
224230pub fn unsafe_slice ( _: & [ UnsafeInner ] ) { }
@@ -227,7 +233,9 @@ pub fn unsafe_slice(_: &[UnsafeInner]) {}
227233#[ no_mangle]
228234pub fn raw_slice ( _: * const [ u8 ] ) { }
229235
230- // CHECK: @str(ptr noalias noundef nonnull readonly align 1{{( captures\(address, read_provenance\))?}} %_1.0, [[USIZE]] noundef %_1.1)
236+ // CHECK: @str(
237+ // CHECK-SAME: ptr noalias noundef nonnull readonly align 1{{( captures\(address, read_provenance\))?}} %_1.0,
238+ // CHECK-SAME: [[USIZE]] noundef range({{i32 0, -2147483648|i64 0, -9223372036854775808}}) %_1.1)
231239// FIXME #25759 This should also have `nocapture`
232240#[ no_mangle]
233241pub fn str ( _: & [ u8 ] ) { }
@@ -259,7 +267,9 @@ pub fn trait_option(x: Option<Box<dyn Drop + Unpin>>) -> Option<Box<dyn Drop + U
259267 x
260268}
261269
262- // CHECK: { ptr, [[USIZE]] } @return_slice(ptr noalias noundef nonnull readonly align 2{{( captures\(address, read_provenance\))?}} %x.0, [[USIZE]] noundef %x.1)
270+ // CHECK: { ptr, [[USIZE]] } @return_slice(
271+ // CHECK-SAME: ptr noalias noundef nonnull readonly align 2{{( captures\(address, read_provenance\))?}} %x.0,
272+ // CHECK-SAME: [[USIZE]] noundef range({{i32 0, 1073741824|i64 0, 4611686018427387904}}) %x.1)
263273#[ no_mangle]
264274pub fn return_slice ( x : & [ u16 ] ) -> & [ u16 ] {
265275 x
0 commit comments