Get `!nonnull` metadata on slice iterators, without `assume`s This updates the non-ZST paths to read the end pointer through a pointer-to-`NonNull`, so that they all get `!nonnull` metadata. That means that the last `assume(!ptr.is_null())` can be deleted, without impacting codegen -- the codegen tests confirm the LLVM-IR ends up exactly the same as before.
The goal of this directory is to track the quality of MIR that is given to codegen in a standard -O
condiguration.
As such, feel free to --bless
whatever changes you get here, so long as doing so doesn't add substantially more MIR.