Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #123143

Closed
wants to merge 24 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

joshlf and others added 24 commits March 3, 2024 07:55
The previous definition used the phrase "representation", which is ambiguous given the current state of memory model nomenclature in Rust. The new wording clarifies that size and bit validity are guaranteed to match the corresponding native integer type.
Co-authored-by: Taiki Endo <te316e89@gmail.com>
Co-authored-by: Taiki Endo <te316e89@gmail.com>
Similar to rust-lang#114370 for VecDeque instead of Vec. It now uses `core::hint::assert_unchecked`.
Signed-off-by: xiaoxiangxianzi <zhaoyizheng@outlook.com>
Clarify atomic bit validity

The previous definition used the phrase "representation", which is ambiguous given the current state of memory model nomenclature in Rust. For integer types and for `AtomicPtr<T>`, the new wording clarifies that size and bit validity are guaranteed to match the corresponding native integer type/`*mut T`. For `AtomicBool`, the new wording clarifies that size, alignment, and bit validity are guaranteed to match `bool`.

Note that we use the phrase "size and alignment" rather than "layout" since the latter term also implies that the field types are the same. This isn't true - `AtomicXxx` doesn't store an `xxx`, but rather an `UnsafeCell<xxx>`. This distinction is important for some `unsafe` code, which needs to reason about the presence or absence of interior mutability in order to ensure that their code is sound (see e.g. google/zerocopy#251).
…e_cap, r=Nilstrieb

Add invariant to VecDeque::pop_* that len < cap if pop successful

Similar to rust-lang#114370 for VecDeque instead of Vec.

I initially come from rust-itertools/itertools#899 where we noticed that `pop_front;push_back;` was slower than expected so `@scottmcm` suggested I file an issue which lead to https://internals.rust-lang.org/t/vecdeque-pop-front-push-back/20483 where **kornel** mentionned rust-lang#114334 (fixed by rust-lang#114370).

This is my first time with codegen tests, I based the test on what was done for Vec.
…trochenkov

Delegation: fix ICE on wrong `Self` instantiation

fixes rust-lang#119921
fixes rust-lang#119919

There is no way to instantiate `Self` param for caller in delegation item if

1. callee is a trait method && callee contains `Self` param
2. delegation item isn't an associative item

In general, we can consider `Self` param as independent type param in these cases:

```rust

trait Trait {
    fn foo(_: Option<&Self>) {...}
}

reuse Trait::foo;
// will be desugared to:
fn foo<T: Trait>(x: Option<&T>) { Trait::foo(x) }
```

But this requires early bound parameters support. For now, I suggest banning such cases to avoid ICE's.

r? `@petrochenkov`
…iler-errors

Load missing type of impl associated constant from trait definition

fixes rust-lang#123092

Also does some cleanups I discovered while analyzing this issue
…sDenton

Some wording improvement

"Data" is usually considered as plural uncountable, therefore "some" seems to make more sense imo.
…pratt

`num::NonZero::get` can be 1 transmute instead of 2

Just something I noticed in passing.  No need for a `match` in here to call `unreachable_unchecked`, as `transmute_unchecked` will add the appropriate `llvm.assume` <https://rust.godbolt.org/z/W5hjeETnc>.
…ng, r=compiler-errors

Let nils know about changes to target docs

i'll probably expand the paths and add a message after rust-lang#121051 but i honestly don't expect that to land very soon lol, so it would be nice to get notified about changes already and watch what's happening there

approve this pr if you're cool
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 27, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Mar 27, 2024

📌 Commit 98fa10e has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 27, 2024
@bors
Copy link
Contributor

bors commented Mar 27, 2024

⌛ Testing commit 98fa10e with merge 506d628...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 27, 2024
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#121943 (Clarify atomic bit validity)
 - rust-lang#123089 (Add invariant to VecDeque::pop_* that len < cap if pop successful)
 - rust-lang#123101 (Delegation: fix ICE on wrong `Self` instantiation)
 - rust-lang#123130 (Load missing type of impl associated constant from trait definition)
 - rust-lang#123133 (chore: fix some comments)
 - rust-lang#123136 (Some wording improvement)
 - rust-lang#123139 (`num::NonZero::get` can be 1 transmute instead of 2)
 - rust-lang#123142 (Let nils know about changes to target docs)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [codegen] tests/codegen/vecdeque_pop_push.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-17/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll" "/checkout/tests/codegen/vecdeque_pop_push.rs" "--check-prefix=CHECK" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
/checkout/tests/codegen/vecdeque_pop_push.rs:11:16: error: CHECK-NOT: excluded string found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:11:16: error: CHECK-NOT: excluded string found in input
 // CHECK-NOT: call
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:470:7: note: found here
 tail call void @llvm.experimental.noalias.scope.decl(metadata !44)
/checkout/tests/codegen/vecdeque_pop_push.rs:25:16: error: CHECK-NOT: excluded string found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:25:16: error: CHECK-NOT: excluded string found in input
 // CHECK-NOT: call
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:507:7: note: found here
 tail call void @llvm.experimental.noalias.scope.decl(metadata !50)
/checkout/tests/codegen/vecdeque_pop_push.rs:39:16: error: CHECK-NOT: excluded string found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:39:16: error: CHECK-NOT: excluded string found in input
 // CHECK-NOT: call
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:571:7: note: found here
 tail call void @llvm.experimental.noalias.scope.decl(metadata !59)
/checkout/tests/codegen/vecdeque_pop_push.rs:53:16: error: CHECK-NOT: excluded string found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:53:16: error: CHECK-NOT: excluded string found in input
 // CHECK-NOT: call
               ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:634:7: note: found here
 tail call void @llvm.experimental.noalias.scope.decl(metadata !65)
/checkout/tests/codegen/vecdeque_pop_push.rs:66:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:66:12: error: CHECK: expected string not found in input
 // CHECK: call {{.*}}reserve_for_push
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:692:29: note: scanning from here
define void @push_back_byte(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality {
                            ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:692:59: note: possible intended match here
define void @push_back_byte(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality {
/checkout/tests/codegen/vecdeque_pop_push.rs:73:12: error: CHECK: expected string not found in input
/checkout/tests/codegen/vecdeque_pop_push.rs:73:12: error: CHECK: expected string not found in input
 // CHECK: call {{.*}}reserve_for_push
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:740:30: note: scanning from here
define void @push_front_byte(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality {
                             ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll:795:27: note: possible intended match here
; core::fmt::num::<impl core::fmt::UpperHex for usize>::fmt

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/vecdeque_pop_push/vecdeque_pop_push.ll
Check file: /checkout/tests/codegen/vecdeque_pop_push.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
            .
            .
            .
            .
          370:  
          371: bb6.i.i: ; preds = %bb1.i.i 
          372:  %raw_ptr.i.i = tail call noundef ptr @__rust_realloc(ptr noundef nonnull %ptr, i64 noundef %8, i64 noundef %0, i64 noundef %1) #14 
          373:  br label %bb8 
          374:  
          375: bb8: ; preds = %bb6.i.i, %bb5.i.i.i, %bb2.i.i.i, %bb5.i.i, %bb2.i.i 
          376:  %_0.sroa.0.0.i.i.pn = phi ptr [ %ptr.i.i.i, %bb2.i.i ], [ %_0.i.i.i, %bb5.i.i ], [ %raw_ptr.i.i, %bb6.i.i ], [ %ptr.i.i.i.i, %bb2.i.i.i ], [ %_0.i.i.i.i, %bb5.i.i.i ] 
          377:  %18 = icmp eq ptr %_0.sroa.0.0.i.i.pn, null 
          378:  %19 = getelementptr inbounds i8, ptr %_0, i64 8 
          379:  %20 = getelementptr inbounds i8, ptr %_0, i64 16 
          380:  br i1 %18, label %bb15, label %bb16 
          381:  
          382: bb16: ; preds = %bb8 
          383:  store ptr %_0.sroa.0.0.i.i.pn, ptr %19, align 8 
          384:  store i64 %1, ptr %20, align 8 
          385:  br label %bb9 
          386:  
          387: bb15: ; preds = %bb8 
          388:  store i64 %0, ptr %19, align 8 
          389:  store i64 %1, ptr %20, align 8 
          390:  br label %bb9 
          391:  
          392: bb9: ; preds = %bb16, %bb15, %bb10 
          393:  %storemerge28 = phi i64 [ 1, %bb10 ], [ 0, %bb16 ], [ 1, %bb15 ] 
          394:  store i64 %storemerge28, ptr %_0, align 8 
          395:  ret void 
          396: } 
          398: ; alloc::raw_vec::RawVec<T,A>::reserve_for_push 
          398: ; alloc::raw_vec::RawVec<T,A>::reserve_for_push 
          399: ; Function Attrs: noinline nonlazybind uwtable 
          400: define internal fastcc void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17hff54311c49ba8d67E"(ptr noalias nocapture noundef align 8 dereferenceable(16) %self, i64 noundef %len) unnamed_addr #3 personality ptr @rust_eh_personality { 
          401: start: 
          402:  %_20.i = alloca %"core::option::Option<(core::ptr::non_null::NonNull<u8>, core::alloc::layout::Layout)>", align 8 
          403:  %self3.i = alloca %"core::result::Result<core::ptr::non_null::NonNull<[u8]>, alloc::collections::TryReserveError>", align 8 
          404:  tail call void @llvm.experimental.noalias.scope.decl(metadata !34) 
          405:  %0 = tail call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %len, i64 1) 
          406:  %_28.1.i = extractvalue { i64, i1 } %0, 1 
          407:  br i1 %_28.1.i, label %bb2, label %bb13.i 
          408:  
          409: bb13.i: ; preds = %start 
          410:  %_28.0.i = extractvalue { i64, i1 } %0, 0 
          411:  %_14.i = load i64, ptr %self, align 8, !alias.scope !34, !noundef !3 
          412:  %_15.0.i = shl i64 %_14.i, 1 
          413:  %_0.0.sroa.speculated.i.i = tail call i64 @llvm.umax.i64(i64 %_15.0.i, i64 %_28.0.i) 
          414:  %_0.0.sroa.speculated.i16.i = tail call i64 @llvm.umax.i64(i64 %_0.0.sroa.speculated.i.i, i64 8) 
          415:  %_4.i.i = icmp sgt i64 %_0.0.sroa.speculated.i16.i, -1 
          416:  %_0.sroa.0.0.i.i = zext i1 %_4.i.i to i64 
          417:  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %self3.i), !noalias !34 
          418:  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %_20.i), !noalias !34 
          419:  tail call void @llvm.experimental.noalias.scope.decl(metadata !37) 
          420:  tail call void @llvm.experimental.noalias.scope.decl(metadata !40) 
          421:  %1 = icmp eq i64 %_14.i, 0 
          422:  br i1 %1, label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hcfedab5c71f5e57dE.exit.i", label %bb4.i.i 
          423:  
          424: bb4.i.i: ; preds = %bb13.i 
          425:  %2 = getelementptr inbounds i8, ptr %self, i64 8 
          426:  %self2.i.i = load ptr, ptr %2, align 8, !alias.scope !42, !noalias !37, !nonnull !3, !noundef !3 
          427:  store ptr %self2.i.i, ptr %_20.i, align 8, !alias.scope !37, !noalias !42 
          428:  %_9.sroa.5.0._0.sroa_idx.i.i = getelementptr inbounds i8, ptr %_20.i, i64 16 
          429:  store i64 %_14.i, ptr %_9.sroa.5.0._0.sroa_idx.i.i, align 8, !alias.scope !37, !noalias !42 
          430:  br label %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hcfedab5c71f5e57dE.exit.i" 
          431:  
          432: "_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hcfedab5c71f5e57dE.exit.i": ; preds = %bb4.i.i, %bb13.i 
          433:  %.sink.i.i = phi i64 [ 1, %bb4.i.i ], [ 0, %bb13.i ] 
          434:  %3 = getelementptr inbounds i8, ptr %_20.i, i64 8 
          435:  store i64 %.sink.i.i, ptr %3, align 8, !alias.scope !37, !noalias !42 
          436: ; call alloc::raw_vec::finish_grow 
          437:  call fastcc void @_ZN5alloc7raw_vec11finish_grow17h7b5bd0924b68d5a0E(ptr noalias nocapture noundef nonnull sret([24 x i8]) align 8 dereferenceable(24) %self3.i, i64 noundef %_0.sroa.0.0.i.i, i64 %_0.0.sroa.speculated.i16.i, ptr noalias nocapture noundef nonnull readonly align 8 dereferenceable(24) %_20.i) 
          438:  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %_20.i), !noalias !34 
          439:  %_44.i = load i64, ptr %self3.i, align 8, !range !43, !noalias !34, !noundef !3 
          440:  %trunc.not.i = icmp eq i64 %_44.i, 0 
          441:  %4 = getelementptr inbounds i8, ptr %self3.i, i64 8 
          442:  br i1 %trunc.not.i, label %bb3, label %bb19.i 
          443:  
          444: bb19.i: ; preds = %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hcfedab5c71f5e57dE.exit.i" 
          445:  %e.0.i = load i64, ptr %4, align 8, !range !33, !noalias !34, !noundef !3 
          446:  %5 = getelementptr inbounds i8, ptr %self3.i, i64 16 
          447:  %e.1.i = load i64, ptr %5, align 8, !noalias !34 
          448:  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %self3.i), !noalias !34 
          449:  br label %bb2 
          450:  
          451: bb2: ; preds = %bb19.i, %start 
          452:  %_0.sroa.4.0.i.ph = phi i64 [ undef, %start ], [ %e.1.i, %bb19.i ] 
          453:  %_0.sroa.0.0.i.ph = phi i64 [ 0, %start ], [ %e.0.i, %bb19.i ] 
          454: ; call alloc::raw_vec::handle_error 
          455:  tail call void @_ZN5alloc7raw_vec12handle_error17h12e8ac2514d88114E(i64 noundef %_0.sroa.0.0.i.ph, i64 %_0.sroa.4.0.i.ph) #13 
          456:  unreachable 
          457:  
          458: bb3: ; preds = %"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hcfedab5c71f5e57dE.exit.i" 
          459:  %v.0.i = load ptr, ptr %4, align 8, !noalias !34, !nonnull !3, !noundef !3 
          460:  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %self3.i), !noalias !34 
          461:  %6 = getelementptr inbounds i8, ptr %self, i64 8 
          462:  store ptr %v.0.i, ptr %6, align 8, !alias.scope !34 
          463:  store i64 %_0.0.sroa.speculated.i16.i, ptr %self, align 8, !alias.scope !34 
          464:  ret void 
          465: } 
          466:  
          467: ; Function Attrs: nonlazybind uwtable 
          468: define void @noop_back(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
          469: start: 
          470:  tail call void @llvm.experimental.noalias.scope.decl(metadata !44) 
not:11               !~~~                                                           error: no match expected
          471:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
          472:  %_9.i = load i64, ptr %0, align 8, !alias.scope !44, !noundef !3 
          473:  %.not = icmp eq i64 %_9.i, 0 
          474:  br i1 %.not, label %bb3, label %bb2.i 
          475:  
          476: bb2.i: ; preds = %start 
          477:  %_2.0.i = add i64 %_9.i, -1 
          478:  store i64 %_2.0.i, ptr %0, align 8, !alias.scope !44 
          479:  %1 = load i64, ptr %v, align 8, !noundef !3 
          480:  %cond.i = icmp ult i64 %_2.0.i, %1 
          481:  tail call void @llvm.assume(i1 %cond.i) 
          482:  %2 = getelementptr inbounds i8, ptr %v, i64 16 
          483:  %3 = load i64, ptr %2, align 8, !noundef !3 
          484:  %4 = add i64 %3, %_2.0.i 
          485:  %_3.i.i = icmp ult i64 %4, %1 
          486:  %_6.0.i.i = sub i64 %4, %1 
          487:  %_4.i.i = icmp ult i64 %_6.0.i.i, %1 
          488:  %or.cond2.i.i = or i1 %_3.i.i, %_4.i.i 
          489:  br i1 %or.cond2.i.i, label %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit", label %bb6.i.i 
          490:  
          491: bb6.i.i: ; preds = %bb2.i 
          492: ; call core::panicking::panic 
          493:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !44 
          494:  unreachable 
          495:  
          496: "_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit": ; preds = %bb2.i 
          497:  store i64 %_9.i, ptr %0, align 8, !alias.scope !47 
          498:  br label %bb3 
          499:  
          500: bb3: ; preds = %start, %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit" 
          501:  ret void 
          502: } 
          503:  
          504: ; Function Attrs: nonlazybind uwtable 
          505: define void @noop_front(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
          506: start: 
          507:  tail call void @llvm.experimental.noalias.scope.decl(metadata !50) 
not:25               !~~~                                                           error: no match expected
          508:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
          509:  %_10.i = load i64, ptr %0, align 8, !alias.scope !50, !noundef !3 
          510:  %.not = icmp eq i64 %_10.i, 0 
          511:  br i1 %.not, label %bb3, label %bb2.i 
          512:  
          513: bb2.i: ; preds = %start 
          514:  %1 = getelementptr inbounds i8, ptr %v, i64 16 
          515:  %old_head.i = load i64, ptr %1, align 8, !alias.scope !50, !noundef !3 
          516:  %_12.i = add i64 %old_head.i, 1 
          517:  %2 = load i64, ptr %v, align 8, !noundef !3 
          518:  %3 = or i64 %2, %_12.i 
          519:  %or.cond.i.i = icmp eq i64 %3, 0 
          520:  %_3.i.i = icmp ult i64 %_12.i, %2 
          521:  %_6.0.i.i = sub i64 %_12.i, %2 
          522:  %_4.i.i = icmp ult i64 %_6.0.i.i, %2 
          523:  %4 = or i1 %or.cond.i.i, %_4.i.i 
          524:  %or.cond2.i.i = or i1 %_3.i.i, %4 
          525:  br i1 %or.cond2.i.i, label %bb2.i1, label %bb6.i.i 
          526:  
          527: bb6.i.i: ; preds = %bb2.i 
          528: ; call core::panicking::panic 
          529:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !50 
          530:  unreachable 
          531:  
          532: bb2.i1: ; preds = %bb2.i 
          533:  %_0.0.i.i = select i1 %_3.i.i, i64 %_12.i, i64 %_6.0.i.i 
          534:  store i64 %_0.0.i.i, ptr %1, align 8, !alias.scope !50 
          535:  %_4.0.i = add i64 %_10.i, -1 
          536:  store i64 %_4.0.i, ptr %0, align 8, !alias.scope !50 
          537:  %cond.i = icmp ult i64 %_4.0.i, %2 
          538:  tail call void @llvm.assume(i1 %cond.i) 
          539:  %5 = getelementptr inbounds i8, ptr %v, i64 8 
          540:  %6 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 
          541:  %7 = getelementptr inbounds i8, ptr %6, i64 %old_head.i 
          542:  %_8.i = load i8, ptr %7, align 1, !noalias !50, !noundef !3 
          543:  tail call void @llvm.experimental.noalias.scope.decl(metadata !53) 
          544:  %self1.i.i = add i64 %_0.0.i.i, -1 
          545:  %_4.i.i2 = add i64 %self1.i.i, %2 
          546:  %_3.i.i.i = icmp ult i64 %_4.i.i2, %2 
          547:  %_4.i.i.i = icmp ult i64 %self1.i.i, %2 
          548:  %or.cond2.i.i.i = or i1 %_3.i.i.i, %_4.i.i.i 
          549:  br i1 %or.cond2.i.i.i, label %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit", label %bb6.i.i.i 
          550:  
          551: bb6.i.i.i: ; preds = %bb2.i1 
          552: ; call core::panicking::panic 
          553:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !56 
          554:  unreachable 
          555:  
          556: "_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit": ; preds = %bb2.i1 
          557:  %_0.0.i.i.i = select i1 %_3.i.i.i, i64 %_4.i.i2, i64 %self1.i.i 
          558:  store i64 %_0.0.i.i.i, ptr %1, align 8, !alias.scope !53 
          559:  store i64 %_10.i, ptr %0, align 8, !alias.scope !53 
          560:  %dst.i = getelementptr inbounds i8, ptr %6, i64 %_0.0.i.i.i 
          561:  store i8 %_8.i, ptr %dst.i, align 1, !noalias !53 
          562:  br label %bb3 
          563:  
          564: bb3: ; preds = %start, %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit" 
          565:  ret void 
          566: } 
          567:  
          568: ; Function Attrs: nonlazybind uwtable 
          569: define void @move_byte_front_to_back(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
          570: start: 
          571:  tail call void @llvm.experimental.noalias.scope.decl(metadata !59) 
not:39               !~~~                                                           error: no match expected
          572:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
          573:  %_10.i = load i64, ptr %0, align 8, !alias.scope !59, !noundef !3 
          574:  %.not = icmp eq i64 %_10.i, 0 
          575:  br i1 %.not, label %bb3, label %bb2.i 
          576:  
          577: bb2.i: ; preds = %start 
          578:  %1 = getelementptr inbounds i8, ptr %v, i64 16 
          579:  %old_head.i = load i64, ptr %1, align 8, !alias.scope !59, !noundef !3 
          580:  %_12.i = add i64 %old_head.i, 1 
          581:  %2 = load i64, ptr %v, align 8, !noundef !3 
          582:  %3 = or i64 %2, %_12.i 
          583:  %or.cond.i.i = icmp eq i64 %3, 0 
          584:  %_3.i.i = icmp ult i64 %_12.i, %2 
          585:  %_6.0.i.i = sub i64 %_12.i, %2 
          586:  %_4.i.i = icmp ult i64 %_6.0.i.i, %2 
          587:  %4 = or i1 %or.cond.i.i, %_4.i.i 
          588:  %or.cond2.i.i = or i1 %_3.i.i, %4 
          589:  br i1 %or.cond2.i.i, label %bb2.i2, label %bb6.i.i 
          590:  
          591: bb6.i.i: ; preds = %bb2.i 
          592: ; call core::panicking::panic 
          593:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !59 
          594:  unreachable 
          595:  
          596: bb2.i2: ; preds = %bb2.i 
          597:  %_0.0.i.i = select i1 %_3.i.i, i64 %_12.i, i64 %_6.0.i.i 
          598:  store i64 %_0.0.i.i, ptr %1, align 8, !alias.scope !59 
          599:  %_4.0.i = add i64 %_10.i, -1 
          600:  store i64 %_4.0.i, ptr %0, align 8, !alias.scope !59 
          601:  %cond.i = icmp ult i64 %_4.0.i, %2 
          602:  tail call void @llvm.assume(i1 %cond.i) 
          603:  %5 = getelementptr inbounds i8, ptr %v, i64 8 
          604:  %6 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 
          605:  %7 = getelementptr inbounds i8, ptr %6, i64 %old_head.i 
          606:  %_8.i = load i8, ptr %7, align 1, !noalias !59, !noundef !3 
          607:  tail call void @llvm.experimental.noalias.scope.decl(metadata !62) 
          608:  %_16.i = add i64 %_0.0.i.i, %_4.0.i 
          609:  %_3.i.i4 = icmp ult i64 %_16.i, %2 
          610:  %_6.0.i.i5 = sub i64 %_16.i, %2 
          611:  %_4.i.i6 = icmp ult i64 %_6.0.i.i5, %2 
          612:  %or.cond2.i.i7 = or i1 %_3.i.i4, %_4.i.i6 
          613:  br i1 %or.cond2.i.i7, label %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit", label %bb6.i.i8 
          614:  
          615: bb6.i.i8: ; preds = %bb2.i2 
          616: ; call core::panicking::panic 
          617:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !62 
          618:  unreachable 
          619:  
          620: "_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit": ; preds = %bb2.i2 
          621:  %_0.0.i.i10 = select i1 %_3.i.i4, i64 %_16.i, i64 %_6.0.i.i5 
          622:  %dst.i = getelementptr inbounds i8, ptr %6, i64 %_0.0.i.i10 
          623:  store i8 %_8.i, ptr %dst.i, align 1, !noalias !62 
          624:  store i64 %_10.i, ptr %0, align 8, !alias.scope !62 
          625:  br label %bb3 
          626:  
          627: bb3: ; preds = %start, %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit" 
          628:  ret void 
          629: } 
          630:  
          631: ; Function Attrs: nonlazybind uwtable 
          632: define void @move_byte_back_to_front(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
          633: start: 
          634:  tail call void @llvm.experimental.noalias.scope.decl(metadata !65) 
not:53               !~~~                                                           error: no match expected
          635:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
          636:  %_9.i = load i64, ptr %0, align 8, !alias.scope !65, !noundef !3 
          637:  %.not = icmp eq i64 %_9.i, 0 
          638:  br i1 %.not, label %bb3, label %bb2.i 
          639:  
          640: bb2.i: ; preds = %start 
          641:  %_2.0.i = add i64 %_9.i, -1 
          642:  store i64 %_2.0.i, ptr %0, align 8, !alias.scope !65 
          643:  %1 = load i64, ptr %v, align 8, !noundef !3 
          644:  %cond.i = icmp ult i64 %_2.0.i, %1 
          645:  tail call void @llvm.assume(i1 %cond.i) 
          646:  %2 = getelementptr inbounds i8, ptr %v, i64 16 
          647:  %3 = load i64, ptr %2, align 8, !noundef !3 
          648:  %4 = add i64 %3, %_2.0.i 
          649:  %_3.i.i = icmp ult i64 %4, %1 
          650:  %_6.0.i.i = sub i64 %4, %1 
          651:  %_4.i.i = icmp ult i64 %_6.0.i.i, %1 
          652:  %or.cond2.i.i = or i1 %_3.i.i, %_4.i.i 
          653:  br i1 %or.cond2.i.i, label %bb2.i1, label %bb6.i.i 
          654:  
          655: bb6.i.i: ; preds = %bb2.i 
          656: ; call core::panicking::panic 
          657:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !65 
          658:  unreachable 
          659:  
          660: bb2.i1: ; preds = %bb2.i 
          661:  %_0.0.i.i = select i1 %_3.i.i, i64 %4, i64 %_6.0.i.i 
          662:  %5 = getelementptr inbounds i8, ptr %v, i64 8 
          663:  %6 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 
          664:  %7 = getelementptr inbounds i8, ptr %6, i64 %_0.0.i.i 
          665:  %_6.i = load i8, ptr %7, align 1, !noalias !65, !noundef !3 
Build completed unsuccessfully in 0:11:30
          666:  tail call void @llvm.experimental.noalias.scope.decl(metadata !68) 
          667:  %self1.i.i = add i64 %3, -1 
          668:  %_4.i.i2 = add i64 %self1.i.i, %1 
          669:  %_3.i.i.i = icmp ult i64 %_4.i.i2, %1 
          670:  %_4.i.i.i = icmp ult i64 %self1.i.i, %1 
          671:  %or.cond2.i.i.i = or i1 %_3.i.i.i, %_4.i.i.i 
          672:  br i1 %or.cond2.i.i.i, label %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit", label %bb6.i.i.i 
          673:  
          674: bb6.i.i.i: ; preds = %bb2.i1 
          675: ; call core::panicking::panic 
          676:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !71 
          677:  unreachable 
          678:  
          679: "_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit": ; preds = %bb2.i1 
          680:  %_0.0.i.i.i = select i1 %_3.i.i.i, i64 %_4.i.i2, i64 %self1.i.i 
          681:  store i64 %_0.0.i.i.i, ptr %2, align 8, !alias.scope !68 
          682:  store i64 %_9.i, ptr %0, align 8, !alias.scope !68 
          683:  %dst.i = getelementptr inbounds i8, ptr %6, i64 %_0.0.i.i.i 
          684:  store i8 %_6.i, ptr %dst.i, align 1, !noalias !68 
          685:  br label %bb3 
          686:  
          687: bb3: ; preds = %start, %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$10push_front17hf346f999ae8f450cE.exit" 
          688:  ret void 
          689: } 
          690:  
          691: ; Function Attrs: nonlazybind uwtable 
          692: define void @push_back_byte(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
check:66'0                                 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:66'1                                                               ?                                                                                       possible intended match
check:66'0     ~~~~~~~
check:66'0     ~~~~~~~
          694:  tail call void @llvm.experimental.noalias.scope.decl(metadata !74) 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          695:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          696:  %_10.i = load i64, ptr %0, align 8, !alias.scope !74, !noundef !3 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          697:  %1 = load i64, ptr %v, align 8, !alias.scope !74, !noundef !3 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          698:  %_3.i = icmp eq i64 %_10.i, %1 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          699:  br i1 %_3.i, label %bb1.i, label %bb2.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:66'0     ~
check:66'0     ~
          701: bb2.i: ; preds = %bb1.i, %start 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          702:  %2 = phi i64 [ %.pre.i, %bb1.i ], [ %1, %start ] 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          703:  %idx.i = phi i64 [ %idx.pre.i, %bb1.i ], [ %_10.i, %start ] 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          704:  %3 = getelementptr inbounds i8, ptr %v, i64 16 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          705:  %idx1.i = load i64, ptr %3, align 8, !alias.scope !74, !noundef !3 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          706:  %_16.i = add i64 %idx1.i, %idx.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          707:  %4 = or i64 %_16.i, %2 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~
          708:  %or.cond.i.i = icmp eq i64 %4, 0 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          709:  %_3.i.i = icmp ult i64 %_16.i, %2 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          710:  %_6.0.i.i = sub i64 %_16.i, %2 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          711:  %_4.i.i = icmp ult i64 %_6.0.i.i, %2 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          712:  %5 = or i1 %or.cond.i.i, %_4.i.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          713:  %or.cond2.i.i = or i1 %_3.i.i, %5 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          714:  br i1 %or.cond2.i.i, label %"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit", label %bb6.i.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:66'0     ~
check:66'0     ~
          716: bb6.i.i: ; preds = %bb2.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          717: ; call core::panicking::panic 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          718:  tail call void @_ZN4core9panicking5panic17hf86012472eee97e9E(ptr noalias noundef nonnull readonly align 1 @alloc_5001a72db0d52bb6743f5b7f35a518c2, i64 noundef 128, ptr noalias noundef nonnull readonly align 8 dereferenceable(24) @alloc_c1860394df4533e22ff3e9693e064c89) #13, !noalias !74 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          719:  unreachable 
check:66'0     ~~~~~~~~~~~~~
check:66'0     ~
check:66'0     ~
          721: bb1.i: ; preds = %start 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~
          722: ; call alloc::collections::vec_deque::VecDeque<T,A>::grow 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          723:  tail call fastcc void @"_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$4grow17ha376bc210a2cb41aE"(ptr noalias noundef nonnull align 8 dereferenceable(32) %v) 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          724:  %idx.pre.i = load i64, ptr %0, align 8, !alias.scope !74 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          725:  %.pre.i = load i64, ptr %v, align 8, !alias.scope !74 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          726:  br label %bb2.i 
check:66'0     ~~~~~~~~~~~~~~~~~
check:66'0     ~
check:66'0     ~
          728: "_ZN5alloc11collections9vec_deque21VecDeque$LT$T$C$A$GT$9push_back17h44988be9624b295aE.exit": ; preds = %bb2.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          729:  %_0.0.i.i = select i1 %_3.i.i, i64 %_16.i, i64 %_6.0.i.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          730:  %6 = getelementptr inbounds i8, ptr %v, i64 8 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          731:  %self2.i = load ptr, ptr %6, align 8, !alias.scope !74, !nonnull !3, !noundef !3 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          732:  %dst.i = getelementptr inbounds i8, ptr %self2.i, i64 %_0.0.i.i 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          733:  store i8 3, ptr %dst.i, align 1, !noalias !74 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          734:  %_8.0.i = add i64 %idx.i, 1 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          735:  store i64 %_8.0.i, ptr %0, align 8, !alias.scope !74 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          736:  ret void 
check:66'0     ~~~~~~~~~~
          737: } 
check:66'0     ~~
check:66'0     ~
check:66'0     ~
          739: ; Function Attrs: nonlazybind uwtable 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          740: define void @push_front_byte(ptr noalias nocapture noundef align 8 dereferenceable(32) %v) unnamed_addr #0 personality ptr @rust_eh_personality { 
check:66'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:73'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:73'0     ~~~~~~~
check:73'0     ~~~~~~~
          742:  tail call void @llvm.experimental.noalias.scope.decl(metadata !77) 
check:73'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          743:  %0 = getelementptr inbounds i8, ptr %v, i64 24 
check:73'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          744:  %_11.i = load i64, ptr %0, align 8, !alias.scope !77, !noundef !3 
check:73'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          745:  %1 = load i64, ptr %v, align 8, !alias.scope !77, !noundef !3 
check:73'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          746:  %_3.i = icmp eq i64 %_11.i, %1 

@bors
Copy link
Contributor

bors commented Mar 27, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 27, 2024
@matthiaskrgr matthiaskrgr deleted the rollup-w6e5gnl branch September 1, 2024 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Area: Issues & PRs about the rust-lang/rust repository itself rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.