update to rustc 1.99.0 - #630
Conversation
|
Further bump would be nice, And for me personally unmerged PRs are not that useful since I can't rely on commits that can disappear any time. |
|
afaik github never deletes commits (except when explicitly requested), so any hashes you grab from a repo will always remain valid, even if this PR is rebased. |
79a6c7a to
4c49c1e
Compare
|
The version I just pushed is completely broken after Upstream commit rust-lang/rust@d93df7f is causing the breakage, even though it looks completely innocent cleanup. Instead of asking the codegen backend for whether some value is an immediate or scalar pair, it removes those APIs to instead just query it directly from But all compiles are failing with an ICE here: This function wasn't changed in the mentioned commit. But if you look at the match statement: let (in_scalar, imm) = match (self.val, self.layout.backend_repr) {
// Extract a scalar component from a pair.
(
OperandValue::Pair(a_llval, b_llval),
BackendRepr::ScalarPair { a, b, b_offset },
) => {The issue is that we have an // FIXME(eddyb) detect `#[rust_gpu::vector::v1]` more specifically,
// to avoid affecting anything should actually be passed as a pair.
if let PassMode::Pair(..) = arg.mode {
// HACK(eddyb) this avoids breaking e.g. `&[T]` pairs.
if let TyKind::Adt(..) = arg.layout.ty.kind() {
arg.mode = PassMode::Direct(ArgAttributes::new());
}
}EDIT: was added in PR #437 Removing that makes it "work" again, with around 50 compiletest failing on function calls, so removing this isn't trivial. But may very well be necessary going forward, as we're hit problems due to this patching many times. So going forward we could:
|
ce69403 to
f6c4e70
Compare
4c49c1e to
9114d74
Compare
9114d74 to
ee18608
Compare
Requires #612
Warning
This is an in-the-middle nightly
Notes: