rust
rust copied to clipboard
Enable GVN for `AggregateKind::RawPtr`
Looks like I was worried for nothing; this seems like it's much easier than I was originally thinking it would be. r? @cjgillot
This should be useful for x[..4]-like things, should those start inlining enough to expose the lengths.
Some changes occurred to MIR optimizations
cc @rust-lang/wg-mir-opt
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)
#16 exporting to docker image format
#16 sending tarball 29.9s done
#16 DONE 35.0s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id := 99999999
---
---- [ui] tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "-O" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/issue-105536-const-val-roundtrip-ptr-eq/a" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/issue-105536-const-val-roundtrip-ptr-eq/auxiliary"
--- stderr -------------------------------
##[error]error: internal compiler error: /checkout/compiler/rustc_const_eval/src/interpret/place.rs:849:13: type mismatch when copying!
src: *const u8,
dest: *const [u8]
dest: *const [u8]
thread 'rustc' panicked at /checkout/compiler/rustc_const_eval/src/interpret/place.rs:849:13:
Box<dyn Any>
stack backtrace:
0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
1: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
2: <rustc_errors::DiagCtxt>::span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::span_bug_fmt::<rustc_span::span_encoding::Span>
7: <rustc_const_eval::interpret::eval_context::InterpCx<rustc_const_eval::const_eval::dummy_machine::DummyMachine>>::copy_op_no_validate::<rustc_const_eval::interpret::operand::OpTy, rustc_const_eval::interpret::place::MPlaceTy>
8: <rustc_mir_transform::gvn::VnState>::eval_to_const::{closure#0}
9: <rustc_mir_transform::gvn::VnState>::insert
10: <rustc_mir_transform::gvn::VnState>::simplify_rvalue
11: <rustc_mir_transform::ssa::SsaLocals>::for_each_assignment_mut::<rustc_mir_transform::gvn::propagate_ssa::{closure#0}>
12: <rustc_mir_transform::gvn::GVN as rustc_middle::mir::MirPass>::run_pass
14: rustc_mir_transform::optimized_mir
14: rustc_mir_transform::optimized_mir
[... omitted 2 frames ...]
15: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
16: rustc_mir_transform::cross_crate_inline::cross_crate_inlinable
[... omitted 2 frames ...]
17: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 1]>>>
18: <rustc_mir_transform::inline::Inliner>::try_inlining
19: <rustc_mir_transform::inline::Inliner>::process_blocks
21: rustc_mir_transform::pass_manager::run_passes_inner
22: rustc_mir_transform::optimized_mir
22: rustc_mir_transform::optimized_mir
[... omitted 2 frames ...]
23: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
25: rustc_monomorphize::collector::collect_items_of_instance
26: rustc_monomorphize::collector::collect_items_rec
26: rustc_monomorphize::collector::collect_items_rec
27: std::panicking::try::<(), core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::parallel::enabled::par_for_each_in<rustc_middle::mir::mono::MonoItem, alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
28: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures::sync::parallel::enabled::par_for_each_in<rustc_middle::mir::mono::MonoItem, alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
29: <rustc_session::session::Session>::time::<(), rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}>
30: rustc_monomorphize::collector::collect_crate_mono_items
31: rustc_monomorphize::partitioning::collect_and_partition_mono_items
[... omitted 2 frames ...]
32: rustc_codegen_ssa::base::codegen_crate::<rustc_codegen_llvm::LlvmCodegenBackend>
33: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
34: <rustc_session::session::Session>::time::<alloc::boxed::Box<dyn core::any::Any>, rustc_interface::passes::start_codegen::{closure#0}>
36: <rustc_middle::ty::context::GlobalCtxt>::enter::<<rustc_interface::queries::Queries>::codegen_and_build_linker::{closure#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
37: <rustc_interface::queries::Queries>::codegen_and_build_linker
38: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
39: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
---
note: please make sure that you have updated to the latest nightly
note: rustc 1.80.0-nightly (e593875fe 2024-05-12) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [optimized_mir] optimizing MIR for `const_u8_fn`
#0 [optimized_mir] optimizing MIR for `const_u8_fn`
#1 [cross_crate_inlinable] whether the item should be made inlinable across crates
#2 [optimized_mir] optimizing MIR for `main`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
error: aborting due to 1 previous error
------------------------------------------
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)
#16 exporting to docker image format
#16 sending tarball 29.2s done
#16 DONE 31.8s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id := 99999999
---
---- [ui] tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 101
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/consts/issue-105536-const-val-roundtrip-ptr-eq.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "-O" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/issue-105536-const-val-roundtrip-ptr-eq/a" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/issue-105536-const-val-roundtrip-ptr-eq/auxiliary"
--- stderr -------------------------------
##[error]error: internal compiler error: /checkout/compiler/rustc_const_eval/src/interpret/place.rs:849:13: type mismatch when copying!
src: *const u8,
dest: *const [u8]
dest: *const [u8]
thread 'rustc' panicked at /checkout/compiler/rustc_const_eval/src/interpret/place.rs:849:13:
Box<dyn Any>
stack backtrace:
0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
1: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
2: <rustc_errors::DiagCtxt>::span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::span_bug_fmt::<rustc_span::span_encoding::Span>
7: <rustc_const_eval::interpret::eval_context::InterpCx<rustc_const_eval::const_eval::dummy_machine::DummyMachine>>::copy_op_no_validate::<rustc_const_eval::interpret::operand::OpTy, rustc_const_eval::interpret::place::MPlaceTy>
8: <rustc_mir_transform::gvn::VnState>::eval_to_const::{closure#0}
9: <rustc_mir_transform::gvn::VnState>::insert
10: <rustc_mir_transform::gvn::VnState>::simplify_rvalue
11: <rustc_mir_transform::ssa::SsaLocals>::for_each_assignment_mut::<rustc_mir_transform::gvn::propagate_ssa::{closure#0}>
12: <rustc_mir_transform::gvn::GVN as rustc_middle::mir::MirPass>::run_pass
14: rustc_mir_transform::optimized_mir
14: rustc_mir_transform::optimized_mir
[... omitted 2 frames ...]
15: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
16: rustc_mir_transform::cross_crate_inline::cross_crate_inlinable
[... omitted 2 frames ...]
17: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 1]>>>
18: <rustc_mir_transform::inline::Inliner>::try_inlining
19: <rustc_mir_transform::inline::Inliner>::process_blocks
21: rustc_mir_transform::pass_manager::run_passes_inner
22: rustc_mir_transform::optimized_mir
22: rustc_mir_transform::optimized_mir
[... omitted 2 frames ...]
23: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>>
25: rustc_monomorphize::collector::collect_items_of_instance
26: rustc_monomorphize::collector::collect_items_rec
26: rustc_monomorphize::collector::collect_items_rec
27: std::panicking::try::<(), core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::parallel::enabled::par_for_each_in<rustc_middle::mir::mono::MonoItem, alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>>
28: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures::sync::parallel::enabled::par_for_each_in<rustc_middle::mir::mono::MonoItem, alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
29: <rustc_session::session::Session>::time::<(), rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}>
30: rustc_monomorphize::collector::collect_crate_mono_items
31: rustc_monomorphize::partitioning::collect_and_partition_mono_items
[... omitted 2 frames ...]
32: rustc_codegen_ssa::base::codegen_crate::<rustc_codegen_llvm::LlvmCodegenBackend>
33: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
34: <rustc_session::session::Session>::time::<alloc::boxed::Box<dyn core::any::Any>, rustc_interface::passes::start_codegen::{closure#0}>
36: <rustc_middle::ty::context::GlobalCtxt>::enter::<<rustc_interface::queries::Queries>::codegen_and_build_linker::{closure#0}, core::result::Result<rustc_interface::queries::Linker, rustc_span::ErrorGuaranteed>>
37: <rustc_interface::queries::Queries>::codegen_and_build_linker
38: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
39: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
---
note: please make sure that you have updated to the latest nightly
note: rustc 1.80.0-nightly (0be7b9a43 2024-05-12) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [optimized_mir] optimizing MIR for `const_u8_fn`
#0 [optimized_mir] optimizing MIR for `const_u8_fn`
#1 [cross_crate_inlinable] whether the item should be made inlinable across crates
#2 [optimized_mir] optimizing MIR for `main`
#3 [collect_and_partition_mono_items] collect_and_partition_mono_items
error: aborting due to 1 previous error
------------------------------------------
Ok, with UnOp::PtrMetadata landed I picked this up again and added some consumption cases too. Hopefully this is about right...
@rustbot ready
The job mingw-check-tidy failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Download action repository 'msys2/[email protected]' (SHA:cc11e9188b693c2b100158c3322424c4cc1dadea)
Download action repository 'actions/checkout@v4' (SHA:a5ac7e51b41094c92402da3b24376905380afc29)
Download action repository 'actions/setup-python@v5' (SHA:82c7e631bb3cdc910f68e0081d67478d79c6982d)
Download action repository 'actions/upload-artifact@v4' (SHA:65462800fd760344b1a7b4382951275a0abb4808)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh
COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt \
&& pip3 install virtualenv
COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/
# NOTE: intentionally uses python2 for x.py so we can test it still works.
# NOTE: intentionally uses python2 for x.py so we can test it still works.
# validate-toolstate only runs in our CI, so it's ok for it to only support python3.
ENV SCRIPT TIDY_PRINT_DIFF=1 python2.7 ../x.py test \
--stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile --allow-unsafe --generate-hashes reuse-requirements.in
---
#11 [5/8] COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
#11 CACHED
#12 [6/8] RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt && pip3 install virtualenv
#13 [2/8] RUN apt-get update && apt-get install -y --no-install-recommends g++ make ninja-build file curl ca-certificates python2.7 python3 python3-pip python3-pkg-resources git cmake sudo gdb xz-utils libssl-dev pkg-config mingw-w64 && rm -rf /var/lib/apt/lists/*
#13 CACHED
---
DirectMap4k: 180160 kB
DirectMap2M: 6111232 kB
DirectMap1G: 12582912 kB
##[endgroup]
Executing TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint
+ TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint
Finished `dev` profile [unoptimized] target(s) in 0.03s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/dcc9a8f2831a9afd2896e3fe2cc020bb2bf949bd/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-dcc9a8f2831a9afd2896e3fe2cc020bb2bf949bd-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
---
Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
Finished `release` profile [optimized] target(s) in 25.65s
##[endgroup]
fmt check
##[error]Diff in /checkout/compiler/rustc_mir_transform/src/gvn.rs at line 955:
let mut was_updated = false;
// Any thin pointer of matching mutability is fine as the data pointer.
// Any thin pointer of matching mutability is fine as the data pointer.
- while let Value::Cast { kind, value: cast_value, from: cast_from, to: _ } = self.get(fields[0])
- && matches!(kind, CastKind::PtrToPtr | CastKind::PointerCoercion(ty::adjustment:: PointerCoercion::ArrayToPointer))
+ while let Value::Cast { kind, value: cast_value, from: cast_from, to: _ } =
+ self.get(fields[0])
+ && matches!(
+ CastKind::PtrToPtr
+ | CastKind::PointerCoercion(
+ ty::adjustment::PointerCoercion::ArrayToPointer
+ )
+ )
+ )
&& let ty::RawPtr(from_pointee_ty, from_mtbl) = cast_from.kind()
&& let ty::RawPtr(_, output_mtbl) = output_pointer_ty.kind()
&& from_mtbl == output_mtbl
##[error]Diff in /checkout/compiler/rustc_mir_transform/src/gvn.rs at line 1131:
// If that cast just casts away the metadata again,
if let PtrToPtr = kind
if let PtrToPtr = kind
- && let Value::Aggregate(AggregateTy::RawPtr { data_pointer_ty, .. }, _, fields) = self.get(value)
+ && let Value::Aggregate(AggregateTy::RawPtr { data_pointer_ty, .. }, _, fields) =
+ self.get(value)
&& let ty::RawPtr(to_pointee, _) = to.kind()
&& to_pointee.is_sized(self.tcx, self.param_env)
{
fmt error: Running `"/checkout/obj/build/x86_64-unknown-linux-gnu/rustfmt/bin/rustfmt" "--config-path" "/checkout" "--edition" "2021" "--unstable-features" "--skip-children" "--check" "/checkout/compiler/rustc_mir_transform/src/promote_consts.rs" "/checkout/compiler/rustc_mir_transform/src/dump_mir.rs" "/checkout/compiler/rustc_mir_transform/src/remove_unneeded_drops.rs" "/checkout/compiler/rustc_mir_transform/src/nrvo.rs" "/checkout/compiler/rustc_mir_transform/src/multiple_return_terminators.rs" "/checkout/compiler/rustc_mir_transform/src/abort_unwinding_calls.rs" "/checkout/compiler/rustc_mir_transform/src/required_consts.rs" "/checkout/compiler/rustc_mir_transform/src/simplify.rs" "/checkout/compiler/rustc_mir_transform/src/unreachable_enum_branching.rs" "/checkout/compiler/rustc_mir_transform/src/remove_uninit_drops.rs" "/checkout/compiler/rustc_mir_transform/src/copy_prop.rs" "/checkout/compiler/rustc_mir_transform/src/mentioned_items.rs" "/checkout/compiler/rustc_mir_transform/src/check_packed_ref.rs" "/checkout/compiler/rustc_mir_transform/src/simplify_branches.rs" "/checkout/compiler/rustc_mir_transform/src/const_debuginfo.rs" "/checkout/compiler/rustc_mir_transform/src/gvn.rs" "/checkout/compiler/rustc_mir_transform/src/reveal_all.rs" "/checkout/compiler/rustc_mir_transform/src/instsimplify.rs" "/checkout/compiler/rustc_attr/src/builtin.rs" "/checkout/compiler/rustc_attr/src/lib.rs" "/checkout/compiler/rustc_attr/src/session_diagnostics.rs" "/checkout/compiler/rustc_ast_ir/src/lib.rs" "/checkout/compiler/rustc_ast_ir/src/visit.rs" "/checkout/compiler/rustc_driver_impl/src/pretty.rs" "/checkout/compiler/rustc_driver_impl/src/lib.rs" "/checkout/compiler/rustc_driver_impl/src/print.rs" "/checkout/compiler/rustc_driver_impl/src/args.rs" "/checkout/compiler/rustc_driver_impl/src/signal_handler.rs" "/checkout/compiler/rustc_driver_impl/src/session_diagnostics.rs" "/checkout/compiler/rustc_trait_selection/src/lib.rs" "/checkout/compiler/rustc_trait_selection/src/regions.rs" "/checkout/compiler/rustc_trait_selection/src/traits/mod.rs" "/checkout/compiler/rustc_trait_selection/src/traits/misc.rs" "/checkout/compiler/rustc_trait_selection/src/traits/coherence.rs" "/checkout/compiler/rustc_trait_selection/src/traits/outlives_bounds.rs" "/checkout/compiler/rustc_trait_selection/src/traits/wf.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/infer_ctxt_ext.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/on_unimplemented.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/ambiguity.rs" "/checkout/compiler/rustc_trait_selection/src/traits/error_reporting/type_err_ctxt_ext.rs" "/checkout/compiler/rustc_trait_selection/src/traits/structural_match.rs" "/checkout/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs" "/checkout/compiler/rustc_trait_selection/src/traits/select/mod.rs" "/checkout/compiler/rustc_trait_selection/src/traits/select/confirmation.rs" "/checkout/compiler/rustc_trait_selection/src/traits/specialize/mod.rs" "/checkout/compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs" "/checkout/compiler/rustc_trait_selection/src/traits/vtable.rs" "/checkout/compiler/rustc_trait_selection/src/traits/engine.rs" "/checkout/compiler/rustc_trait_selection/src/traits/project.rs" "/checkout/compiler/rustc_trait_selection/src/traits/const_evaluatable.rs" "/checkout/compiler/rustc_trait_selection/src/traits/normalize.rs" "/checkout/compiler/rustc_trait_selection/src/traits/util.rs" "/checkout/compiler/rustc_trait_selection/src/traits/structural_normalize.rs" "/checkout/compiler/rustc_trait_selection/src/traits/auto_trait.rs" "/checkout/compiler/rustc_trait_selection/src/traits/fulfill.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/method_autoderef.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/mod.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/normalize.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/evaluate_obligation.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/type_op/subtype.rs" "/checkout/compiler/rustc_trait_selection/src/traits/query/type_op/ascribe_user_type.rs" "/checkout/compiler/rustc_mir_transform/src/normalize_array_len.rs"` failed.
If you're running `tidy`, try again with `--bless`. Or, if you just want to format code, run `./x.py fmt` instead.
local time: Sat Jun 1 08:09:22 UTC 2024
network time: Sat, 01 Jun 2024 08:09:22 GMT
##[error]Process completed with exit code 1.
Post job cleanup.
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)
#16 exporting to docker image format
#16 sending tarball 30.2s done
#16 DONE 35.1s
##[endgroup]
Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure:
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id := 99999999
---
Compiling flate2 v1.0.30
Compiling itertools v0.12.1
Compiling anstyle v1.0.7
thread 'rustc' panicked at compiler/rustc_mir_transform/src/validate.rs:90:25:
broken MIR in Item(DefId(0:65 ~ odht[10d7]::memory_layout::{impl#1}::data_slices)) (after phase change to runtime-optimized) at bb7[3]:
encountered `Assign((_61, Offset(_13, _62)))` with incompatible types:
left-hand side has type: *const raw_table::Entry<<C as Config>::EncodedKey, <C as Config>::EncodedValue>
right-hand side has type: *const u8
0: 0x7f093daddf5f - <std[c2c24b630225e606]::sys_common::backtrace::_print::DisplayBacktrace as core[e1c6098c1ec8ac6d]::fmt::Display>::fmt
1: 0x7f093db34e10 - core[e1c6098c1ec8ac6d]::fmt::write
2: 0x7f093dad35c9 - <std[c2c24b630225e606]::sys::pal::unix::stdio::Stderr as std[c2c24b630225e606]::io::Write>::write_fmt
3: 0x7f093daddd2e - std[c2c24b630225e606]::sys_common::backtrace::print
3: 0x7f093daddd2e - std[c2c24b630225e606]::sys_common::backtrace::print
4: 0x7f093dae0baa - std[c2c24b630225e606]::panicking::default_hook::{closure#1}
5: 0x7f093dae083a - std[c2c24b630225e606]::panicking::default_hook
6: 0x7f093e768d62 - <alloc[ec332a09c04d8ff7]::boxed::Box<rustc_driver_impl[70df3bbbdec8d93c]::install_ice_hook::{closure#0}> as core[e1c6098c1ec8ac6d]::ops::function::Fn<(&dyn for<'a, 'b> core[e1c6098c1ec8ac6d]::ops::function::Fn<(&'a core[e1c6098c1ec8ac6d]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e1c6098c1ec8ac6d]::marker::Sync + core[e1c6098c1ec8ac6d]::marker::Send, &core[e1c6098c1ec8ac6d]::panic::panic_info::PanicInfo)>>::call
8: 0x7f093dae0fc4 - std[c2c24b630225e606]::panicking::begin_panic_handler::{closure#0}
9: 0x7f093dade529 - std[c2c24b630225e606]::sys_common::backtrace::__rust_end_short_backtrace::<std[c2c24b630225e606]::panicking::begin_panic_handler::{closure#0}, !>
10: 0x7f093dae0d47 - rust_begin_unwind
11: 0x7f093da998a3 - core[e1c6098c1ec8ac6d]::panicking::panic_fmt
11: 0x7f093da998a3 - core[e1c6098c1ec8ac6d]::panicking::panic_fmt
12: 0x7f093f4221c2 - <rustc_mir_transform[732905497d8009c9]::validate::CfgChecker>::fail::<alloc[ec332a09c04d8ff7]::string::String>
13: 0x7f093f421602 - <rustc_mir_transform[732905497d8009c9]::validate::Validator as rustc_middle[61ca4f229b6740bf]::mir::MirPass>::run_pass
14: 0x7f093f3c8cac - rustc_mir_transform[732905497d8009c9]::pass_manager::run_passes_inner
15: 0x7f093f2ac6a1 - rustc_mir_transform[732905497d8009c9]::optimized_mir
16: 0x7f094009db97 - rustc_query_impl[e50c99f5a2957fc1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>
17: 0x7f094036aad9 - <rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::dynamic_query::{closure#2} as core[e1c6098c1ec8ac6d]::ops::function::FnOnce<(rustc_middle[61ca4f229b6740bf]::ty::context::TyCtxt, rustc_span[e29599a9b9eaaabd]::def_id::DefId)>>::call_once
18: 0x7f09403ffcdf - rustc_query_system[9a56e03e8e098573]::query::plumbing::try_execute_query::<rustc_query_impl[e50c99f5a2957fc1]::DynamicConfig<rustc_query_system[9a56e03e8e098573]::query::caches::DefIdCache<rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e50c99f5a2957fc1]::plumbing::QueryCtxt, false>
19: 0x7f094021b137 - rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
20: 0x7f09416574b0 - rustc_middle[61ca4f229b6740bf]::query::plumbing::query_get_at::<rustc_query_system[9a56e03e8e098573]::query::caches::DefIdCache<rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>>
21: 0x7f0941663d93 - <rustc_middle[61ca4f229b6740bf]::ty::context::TyCtxt>::instance_mir
22: 0x7f093f29b15c - <rustc_mir_transform[732905497d8009c9]::inline::Inliner>::try_inlining
23: 0x7f093f2997b1 - <rustc_mir_transform[732905497d8009c9]::inline::Inliner>::process_blocks
24: 0x7f093f298b8f - <rustc_mir_transform[732905497d8009c9]::inline::Inline as rustc_middle[61ca4f229b6740bf]::mir::MirPass>::run_pass
25: 0x7f093f3c8376 - rustc_mir_transform[732905497d8009c9]::pass_manager::run_passes_inner
26: 0x7f093f2ac6a1 - rustc_mir_transform[732905497d8009c9]::optimized_mir
27: 0x7f094009db97 - rustc_query_impl[e50c99f5a2957fc1]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0}, rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>
28: 0x7f094036aad9 - <rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::dynamic_query::{closure#2} as core[e1c6098c1ec8ac6d]::ops::function::FnOnce<(rustc_middle[61ca4f229b6740bf]::ty::context::TyCtxt, rustc_span[e29599a9b9eaaabd]::def_id::DefId)>>::call_once
29: 0x7f09403ffcdf - rustc_query_system[9a56e03e8e098573]::query::plumbing::try_execute_query::<rustc_query_impl[e50c99f5a2957fc1]::DynamicConfig<rustc_query_system[9a56e03e8e098573]::query::caches::DefIdCache<rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[e50c99f5a2957fc1]::plumbing::QueryCtxt, false>
30: 0x7f094021b137 - rustc_query_impl[e50c99f5a2957fc1]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
31: 0x7f0941172810 - rustc_middle[61ca4f229b6740bf]::query::plumbing::query_get_at::<rustc_query_system[9a56e03e8e098573]::query::caches::DefIdCache<rustc_middle[61ca4f229b6740bf]::query::erase::Erased<[u8; 8usize]>>>
32: 0x7f09411789c8 - <rustc_metadata[14f791beac4a997b]::rmeta::encoder::EncodeContext>::encode_crate_root
33: 0x7f0941186496 - rustc_metadata[14f791beac4a997b]::rmeta::encoder::encode_metadata
34: 0x7f09411c89bd - rustc_metadata[14f791beac4a997b]::fs::encode_and_write_metadata
35: 0x7f093e9b894e - rustc_interface[137f15c7720f8b29]::passes::start_codegen
36: 0x7f093e966249 - <rustc_middle[61ca4f229b6740bf]::ty::context::GlobalCtxt>::enter::<<rustc_interface[137f15c7720f8b29]::queries::Queries>::codegen_and_build_linker::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<rustc_interface[137f15c7720f8b29]::queries::Linker, rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>
37: 0x7f093e9d0fc0 - <rustc_interface[137f15c7720f8b29]::queries::Queries>::codegen_and_build_linker
38: 0x7f093e7117ea - <rustc_interface[137f15c7720f8b29]::interface::Compiler>::enter::<rustc_driver_impl[70df3bbbdec8d93c]::run_compiler::{closure#0}::{closure#1}, core[e1c6098c1ec8ac6d]::result::Result<core[e1c6098c1ec8ac6d]::option::Option<rustc_interface[137f15c7720f8b29]::queries::Linker>, rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>
39: 0x7f093e6f1d92 - rustc_span[e29599a9b9eaaabd]::create_session_globals_then::<core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>, rustc_interface[137f15c7720f8b29]::util::run_in_thread_with_globals<rustc_interface[137f15c7720f8b29]::util::run_in_thread_pool_with_globals<rustc_interface[137f15c7720f8b29]::interface::run_compiler<core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>, rustc_driver_impl[70df3bbbdec8d93c]::run_compiler::{closure#0}>::{closure#1}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}>
40: 0x7f093e7650e2 - std[c2c24b630225e606]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[137f15c7720f8b29]::util::run_in_thread_with_globals<rustc_interface[137f15c7720f8b29]::util::run_in_thread_pool_with_globals<rustc_interface[137f15c7720f8b29]::interface::run_compiler<core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>, rustc_driver_impl[70df3bbbdec8d93c]::run_compiler::{closure#0}>::{closure#1}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>
41: 0x7f093e75411f - <<std[c2c24b630225e606]::thread::Builder>::spawn_unchecked_<rustc_interface[137f15c7720f8b29]::util::run_in_thread_with_globals<rustc_interface[137f15c7720f8b29]::util::run_in_thread_pool_with_globals<rustc_interface[137f15c7720f8b29]::interface::run_compiler<core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>, rustc_driver_impl[70df3bbbdec8d93c]::run_compiler::{closure#0}>::{closure#1}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e1c6098c1ec8ac6d]::result::Result<(), rustc_span[e29599a9b9eaaabd]::ErrorGuaranteed>>::{closure#2} as core[e1c6098c1ec8ac6d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
42: 0x7f093daec8d4 - <std[c2c24b630225e606]::sys::pal::unix::thread::Thread>::new::thread_start
44: 0x7f093d9675fc - <unknown>
45: 0x0 - <unknown>
error: the compiler unexpectedly panicked. this is a bug.
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: please make sure that you have updated to the latest nightly
note: please attach the file at `/cargo/registry/src/index.crates.io-6f17d22bba15001f/odht-0.3.1/rustc-ice-2024-06-01T08_23_48-12171.txt` to your bug report
note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no -C debug-assertions=on -Z unstable-options -C symbol-mangling-version=v0 -Z unstable-options -Z macro-backtrace -C split-debuginfo=off -Z unstable-options -C prefer-dynamic -C llvm-args=-import-instr-limit=10 -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -Z on-broken-pipe=kill -Z binary-dep-depinfo -Z tls-model=initial-exec -Z force-unstable-if-unmarked
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
query stack during panic:
#0 [optimized_mir] optimizing MIR for `memory_layout::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/odht-0.3.1/src/memory_layout.rs:178:1: 181:21>::data_slices`
#1 [optimized_mir] optimizing MIR for `memory_layout::<impl at /cargo/registry/src/index.crates.io-6f17d22bba15001f/odht-0.3.1/src/memory_layout.rs:178:1: 181:21>::from_raw_bytes`
Compiling rustc_error_codes v0.0.0 (/checkout/compiler/rustc_error_codes)
error: could not compile `odht` (lib)
warning: build failed, waiting for other jobs to finish...
Build completed unsuccessfully in 0:05:15
(Rebased to make sure there's no conflicts after #125893 )
Thanks! @bors r+
:pushpin: Commit 021ccf6c4ed0ae32f66b06a06f542c83f4e81670 has been approved by cjgillot
It is now in the queue for this repository.