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

Added "copy" to Debug fmt for copy operands #122551

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RayMuir
Copy link

@RayMuir RayMuir commented Mar 15, 2024

In MIR's debug mode (--emit mir) the printing for Operands is slightly inconsistent.

The RValues - values on the right side of an Assign - are usually printed with their Operand when they are Places.

Example:
_2 = move _3

But for arguments, the operand is omitted.

_2 = _1

I propose a change be made, to display the place with the operand.

_2 = copy _1

Move and copy have different semantics, meaning this difference is important and helpful to the user. It also adds consistency to the pretty printing.

@rustbot
Copy link
Collaborator

rustbot commented Mar 15, 2024

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @pnkfelix (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added 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. labels Mar 15, 2024
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
GITHUB_ACTION=__run_7
GITHUB_ACTIONS=true
GITHUB_ACTION_REF=
GITHUB_ACTION_REPOSITORY=
GITHUB_ACTOR=RayMuir
GITHUB_API_URL=https://api.github.com
GITHUB_BASE_REF=master
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_464ba4c9-b500-48e8-aee8-5c1af7024454
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json
GITHUB_GRAPHQL_URL=https://api.github.com/graphql
GITHUB_HEAD_REF=copy_fmt
GITHUB_JOB=pr
GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_464ba4c9-b500-48e8-aee8-5c1af7024454
GITHUB_REF=refs/pull/122551/merge
GITHUB_REF_NAME=122551/merge
GITHUB_REF_PROTECTED=false
---
GITHUB_SERVER_URL=https://github.com
GITHUB_SHA=47e5b4b667b237177dcf4654baba147c49e281e3
GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_464ba4c9-b500-48e8-aee8-5c1af7024454
GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_464ba4c9-b500-48e8-aee8-5c1af7024454
GITHUB_TRIGGERING_ACTOR=RayMuir
GITHUB_WORKFLOW_REF=rust-lang/rust/.github/workflows/ci.yml@refs/pull/122551/merge
GITHUB_WORKFLOW_SHA=47e5b4b667b237177dcf4654baba147c49e281e3
GITHUB_WORKSPACE=/home/runner/work/rust/rust
GOROOT_1_20_X64=/opt/hostedtoolcache/go/1.20.14/x64
---
#13 170.3 checking for isl 0.15 or later... no
#13 170.4 required isl version is 0.15 or later
#13 170.4 The following languages will be built: c,jit,lto
#13 170.7 *** This configuration is not supported in the following subdirectories:
#13 170.7      gnattools gotools libgrust target-libada target-libstdc++-v3 target-libphobos target-zlib target-libbacktrace target-libgfortran target-libgo target-libffi target-libgm2 target-libobjc target-libgrust target-libitm target-libsanitizer target-libvtv
#13 170.7 checking for default BUILD_CONFIG... 
#13 170.7 checking for --enable-vtable-verify... no
#13 170.7 checking for bison... no
#13 170.7 checking for byacc... no
---
#13 300.9 ../../gcc-src/gcc/genhooks.cc:122:14: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
#13 300.9   122 |       fscanf (f, "%999s", buf);
#13 300.9       |       ~~~~~~~^~~~~~~~~~~~~~~~~
#13 300.9 ../../gcc-src/gcc/genhooks.cc:113:17: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
#13 300.9   113 |   while (fscanf (f, "%*[^@]"), buf[0] = '\0',
#13 300.9 ../../gcc-src/gcc/genhooks.cc:175:14: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
#13 300.9   175 |       fscanf (f, "%5[^ \n]", buf);
#13 300.9       |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~
#13 300.9 ../../gcc-src/gcc/genhooks.cc:181:14: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
---
#13 307.3 /bin/bash ../../gcc-src/gcc/../move-if-change tmp-jit-target-hooks-def.h \
#13 307.3          jit/jit-target-hooks-def.h
#13 307.3 echo timestamp > s-jit-target-hooks-def-h
#13 307.3 rm -f tmp-omp-device-properties.h; \
#13 307.3 for kind in kind arch isa; do \
#13 307.3   echo 'const char omp_offload_device_'${kind}'[] = ' \
#13 307.3   for prop in none ; do \
#13 307.3     [ "$prop" = "none" ] && continue; \
#13 307.3     tgt=`echo "$prop" | sed 's/=.*$//'`; \
#13 307.3     props=`echo "$prop" | sed 's/.*=//'`; \
#13 307.3     props=`echo "$prop" | sed 's/.*=//'`; \
#13 307.3     echo "\"$tgt\\0\"" >> tmp-omp-device-properties.h; \
#13 307.3     sed -n 's/^'${kind}': //p' ${props} \
#13 307.3       | sed 's/[[:blank:]]/ /g;s/  */ /g;s/^ //;s/ $//;s/ /\\0/g;s/^/"/;s/$/\\0\\0"/' \
#13 307.3   done; \
#13 307.3   echo '"";' >> tmp-omp-device-properties.h; \
#13 307.3 done; \
#13 307.3 /bin/bash ../../gcc-src/gcc/../move-if-change tmp-omp-device-properties.h \
---
#13 902.0 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o et-forest.o -MT et-forest.o -MMD -MP -MF ./.deps/et-forest.TPo ../../gcc-src/gcc/et-forest.cc
#13 902.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o except.o -MT except.o -MMD -MP -MF ./.deps/except.TPo ../../gcc-src/gcc/except.cc
#13 904.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o explow.o -MT explow.o -MMD -MP -MF ./.deps/explow.TPo ../../gcc-src/gcc/explow.cc
#13 905.9 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o expmed.o -MT expmed.o -MMD -MP -MF ./.deps/expmed.TPo ../../gcc-src/gcc/expmed.cc
#13 908.9 ../../gcc-src/gcc/expmed.cc: In function 'rtx_def* extract_bit_field_1(rtx, poly_uint64, poly_uint64, int, rtx, machine_mode, machine_mode, bool, bool, rtx_def**)':
#13 908.9 ../../gcc-src/gcc/expmed.cc:1845:45: warning: '*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))' may be used uninitialized [-Wmaybe-uninitialized]
#13 908.9  1845 |       rtx sub = extract_bit_field_as_subreg (mode1, op0, imode,
#13 908.9  1846 |                                              bitsize, bitnum);
#13 908.9       |                                              ~~~~~~~~~~~~~~~~
#13 908.9 ../../gcc-src/gcc/expmed.cc:1805:19: note: '*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))' was declared here
#13 908.9  1805 |   scalar_int_mode imode;
---
#13 1430.3 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-reassoc.o -MT tree-ssa-reassoc.o -MMD -MP -MF ./.deps/tree-ssa-reassoc.TPo ../../gcc-src/gcc/tree-ssa-reassoc.cc
#13 1435.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-sccvn.o -MT tree-ssa-sccvn.o -MMD -MP -MF ./.deps/tree-ssa-sccvn.TPo ../../gcc-src/gcc/tree-ssa-sccvn.cc
#13 1436.3 ../../gcc-src/gcc/tree-ssa-sccvn.cc: In function 'void print_vn_reference_ops(FILE*, vec<vn_reference_op_struct>)':
#13 1436.3 ../../gcc-src/gcc/tree-ssa-sccvn.cc:284:21: warning: format not a string literal and no format arguments [-Wformat-security]
#13 1436.3   284 |             fprintf (outfile, internal_fn_name ((internal_fn)vro->clique));
#13 1440.7 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-scopedtables.o -MT tree-ssa-scopedtables.o -MMD -MP -MF ./.deps/tree-ssa-scopedtables.TPo ../../gcc-src/gcc/tree-ssa-scopedtables.cc
#13 1441.6 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-sink.o -MT tree-ssa-sink.o -MMD -MP -MF ./.deps/tree-ssa-sink.TPo ../../gcc-src/gcc/tree-ssa-sink.cc
#13 1442.9 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-strlen.o -MT tree-ssa-strlen.o -MMD -MP -MF ./.deps/tree-ssa-strlen.TPo ../../gcc-src/gcc/tree-ssa-strlen.cc
#13 1446.7 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o tree-ssa-structalias.o -MT tree-ssa-structalias.o -MMD -MP -MF ./.deps/tree-ssa-structalias.TPo ../../gcc-src/gcc/tree-ssa-structalias.cc
---
#13 1566.0       |                            ^~~~~
#13 1568.0 In file included from ../../gcc-src/gcc/analyzer/svalue.h:25,
#13 1568.0                  from ../../gcc-src/gcc/analyzer/region-model.h:33,
#13 1568.0                  from ../../gcc-src/gcc/analyzer/access-diagram.cc:38:
#13 1568.0 In constructor 'ana::byte_range::byte_range(ana::byte_offset_t, ana::byte_size_t)',
#13 1568.0 ../../gcc-src/gcc/analyzer/store.h:310:5: warning: 'size_in_bytes.generic_wide_int<fixed_wide_int_storage<128> >::<anonymous>.fixed_wide_int_storage<128>::val[1]' may be used uninitialized [-Wmaybe-uninitialized]
#13 1568.0   310 |     m_size_in_bytes (size_in_bytes)
#13 1568.0       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#13 1568.0 ../../gcc-src/gcc/analyzer/access-diagram.cc: In member function 'virtual text_art::table ana::string_literal_spatial_item::make_table(const ana::bit_to_table_map&, text_art::style_manager&) const':
---
#13 1671.9 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o linux.o -MT linux.o -MMD -MP -MF ./.deps/linux.TPo ../../gcc-src/gcc/config/linux.cc
#13 1672.4 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o gnu-property.o -MT gnu-property.o -MMD -MP -MF ./.deps/gnu-property.TPo ../../gcc-src/gcc/config/i386/gnu-property.cc
#13 1672.8 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o host-linux.o -MT host-linux.o -MMD -MP -MF ./.deps/host-linux.TPo ../../gcc-src/gcc/config/host-linux.cc
#13 1673.1 rm -rf libbackend.a
#13 1673.1 ar --plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so rcT libbackend.a  gimple-match-1.o  gimple-match-2.o  gimple-match-3.o  gimple-match-4.o  gimple-match-5.o  gimple-match-6.o  gimple-match-7.o  gimple-match-8.o  gimple-match-9.o  gimple-match-10.o gimple-match-exports.o  generic-match-1.o  generic-match-2.o  generic-match-3.o  generic-match-4.o  generic-match-5.o  generic-match-6.o  generic-match-7.o  generic-match-8.o  generic-match-9.o  generic-match-10.o insn-attrtab.o insn-automata.o insn-dfatab.o  insn-emit-1.o  insn-emit-2.o  insn-emit-3.o  insn-emit-4.o  insn-emit-5.o  insn-emit-6.o  insn-emit-7.o  insn-emit-8.o  insn-emit-9.o  insn-emit-10.o insn-extract.o insn-latencytab.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o insn-enums.o ggc-page.o adjust-alignment.o alias.o alloc-pool.o auto-inc-dec.o auto-profile.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o ccmp.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o ctfc.o ctfout.o btfout.o symtab.o symtab-thunks.o symtab-clones.o cgraph.o cgraphbuild.o cgraphunit.o cgraphclones.o combine.o combine-stack-adj.o compare-elim.o context.o convert.o coroutine-passes.o coverage.o cppbuiltin.o cppdefault.o cprop.o cse.o cselib.o data-streamer.o data-streamer-in.o data-streamer-out.o dbgcnt.o dce.o ddg.o debug.o df-core.o df-problems.o df-scan.o dfp.o digraph.o dojump.o dominance.o domwalk.o double-int.o dse.o dumpfile.o dwarf2asm.o dwarf2cfi.o dwarf2ctf.o dwarf2out.o early-remat.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o fibonacci_heap.o file-prefix-map.o final.o fixed-value.o fold-const.o fold-const-call.o fold-mem-offsets.o function.o function-abi.o function-tests.o fwprop.o gcc-rich-location.o gcc-urlifier.o gcse.o gcse-common.o ggc-common.o ggc-tests.o gimple.o gimple-array-bounds.o gimple-builder.o gimple-expr.o gimple-if-to-switch.o gimple-iterator.o gimple-fold.o gimple-harden-conditionals.o gimple-harden-control-flow.o gimple-laddress.o gimple-loop-interchange.o gimple-loop-jam.o gimple-loop-versioning.o gimple-low.o gimple-lower-bitint.o gimple-predicate-analysis.o gimple-pretty-print.o gimple-range.o gimple-range-cache.o gimple-range-edge.o gimple-range-fold.o gimple-range-gori.o gimple-range-infer.o gimple-range-op.o gimple-range-phi.o gimple-range-trace.o gimple-ssa-backprop.o gimple-ssa-isolate-paths.o gimple-ssa-nonnull-compare.o gimple-ssa-sccopy.o gimple-ssa-split-paths.o gimple-ssa-store-merging.o gimple-ssa-strength-reduction.o gimple-ssa-sprintf.o gimple-ssa-warn-access.o gimple-ssa-warn-alloca.o gimple-ssa-warn-restrict.o gimple-streamer-in.o gimple-streamer-out.o gimple-walk.o gimple-warn-recursion.o gimplify.o gimplify-me.o godump.o graph.o graphds.o graphviz.o graphite.o graphite-isl-ast-to-gimple.o graphite-dependences.o graphite-optimize-isl.o graphite-poly.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hash-map-tests.o hash-set-tests.o hw-doloop.o hwint.o ifcvt.o ree.o inchash.o incpath.o init-regs.o internal-fn.o ipa-cp.o ipa-sra.o ipa-devirt.o ipa-fnsummary.o ipa-polymorphic-call.o ipa-split.o ipa-inline.o ipa-comdats.o ipa-free-lang-data.o ipa-visibility.o ipa-inline-analysis.o ipa-inline-transform.o ipa-modref.o ipa-modref-tree.o ipa-predicate.o ipa-profile.o ipa-prop.o ipa-param-manipulation.o ipa-pure-const.o ipa-icf.o ipa-icf-gimple.o ipa-reference.o ipa-ref.o ipa-utils.o ipa-strub.o ipa.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o lower-subreg.o lra.o lra-assigns.o lra-coalesce.o lra-constraints.o lra-eliminations.o lra-lives.o lra-remat.o lra-spills.o lto-cgraph.o lto-streamer.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-opts.o lto-compress.o mcf.o mode-switching.o modulo-sched.o multiple_target.o omp-offload.o omp-expand.o omp-general.o omp-low.o omp-oacc-kernels-decompose.o omp-oacc-neuter-broadcast.o omp-simd-clone.o opt-problem.o optabs.o optabs-libfuncs.o optabs-query.o optabs-tree.o optinfo.o optinfo-emit-json.o options-save.o options-urls.o opts-global.o ordered-hash-map-tests.o passes.o plugin.o pointer-query.o postreload-gcse.o postreload.o predict.o print-rtl.o print-rtl-function.o print-tree.o profile.o profile-count.o range.o range-op.o range-op-float.o range-op-ptr.o read-md.o read-rtl.o read-rtl-function.o real.o realmpfr.o recog.o reg-stack.o regcprop.o reginfo.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl-ssa/accesses.o rtl-ssa/blocks.o rtl-ssa/changes.o rtl-ssa/functions.o rtl-ssa/insns.o rtl-ssa/movement.o rtl-tests.o rtl.o rtlhash.o rtlanal.o rtlhooks.o rtx-vector-builder.o run-rtl-passes.o sched-deps.o sched-ebb.o sched-rgn.o sel-sched-ir.o sel-sched-dump.o sel-sched.o selftest-rtl.o selftest-run-tests.o sese.o shrink-wrap.o simplify-rtx.o sparseset.o spellcheck.o spellcheck-tree.o splay-tree-utils.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o streamer-hooks.o stringpool.o substring-locations.o target-globals.o targhooks.o timevar.o toplev.o tracer.o trans-mem.o tree-affine.o asan.o tsan.o ubsan.o sanopt.o sancov.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-diagnostic.o tree-diagnostic-client-data-hooks.o tree-diagnostic-path.o tree-dump.o tree-eh.o tree-emutls.o tree-if-conv.o tree-inline.o tree-into-ssa.o tree-iterator.o tree-logical-location.o tree-loop-distribution.o tree-nested.o tree-nrv.o tree-object-size.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-split.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o gimple-range-path.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-scopedtables.o tree-ssa-sink.o tree-ssa-strlen.o tree-ssa-structalias.o tree-ssa-tail-merge.o tree-ssa-ter.o tree-ssa-threadbackward.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa-uninit.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-streamer.o tree-streamer-in.o tree-streamer-out.o tree-tailcall.o tree-vect-generic.o gimple-isel.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vect-slp-patterns.o tree-vectorizer.o tree-vector-builder.o tree-vrp.o tree.o tristate.o typed-splay-tree.o valtrack.o value-pointer-equiv.o value-query.o value-range.o value-range-pretty-print.o value-range-storage.o value-relation.o value-prof.o var-tracking.o varasm.o varpool.o vec-perm-indices.o vmsdbgout.o vr-values.o vtable-verify.o warning-control.o web.o wide-int.o wide-int-print.o i386.o analyzer/access-diagram.o analyzer/analysis-plan.o analyzer/analyzer.o analyzer/analyzer-language.o analyzer/analyzer-logging.o analyzer/analyzer-pass.o analyzer/analyzer-selftests.o analyzer/bar-chart.o analyzer/bounds-checking.o analyzer/call-details.o analyzer/call-info.o analyzer/call-string.o analyzer/call-summary.o analyzer/checker-event.o analyzer/checker-path.o analyzer/complexity.o analyzer/constraint-manager.o analyzer/diagnostic-manager.o analyzer/engine.o analyzer/feasible-graph.o analyzer/function-set.o analyzer/infinite-loop.o analyzer/infinite-recursion.o analyzer/kf.o analyzer/kf-analyzer.o analyzer/kf-lang-cp.o analyzer/known-function-manager.o analyzer/pending-diagnostic.o analyzer/program-point.o analyzer/program-state.o analyzer/ranges.o analyzer/record-layout.o analyzer/region.o analyzer/region-model.o analyzer/region-model-asm.o analyzer/region-model-manager.o analyzer/region-model-reachability.o analyzer/sm.o analyzer/sm-file.o analyzer/sm-fd.o analyzer/sm-malloc.o analyzer/sm-pattern-test.o analyzer/sm-sensitive.o analyzer/sm-signal.o analyzer/sm-taint.o analyzer/state-purge.o analyzer/store.o analyzer/supergraph.o analyzer/svalue.o analyzer/symbol.o analyzer/trimmed-graph.o analyzer/varargs.o x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o i386-options.o i386-builtins.o i386-expand.o i386-features.o linux.o gnu-property.o host-linux.o
#13 1673.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o i386-common.o -MT i386-common.o -MMD -MP -MF ./.deps/i386-common.TPo ../../gcc-src/gcc/common/config/i386/i386-common.cc
#13 1674.2 g++ -fcf-protection -fPIC -c  -DPREFIX=\"/scripts/gcc-build/../gcc-install\" -DBASEVER="\"14.0.1\"" -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o prefix.o -MT prefix.o -MMD -MP -MF ./.deps/prefix.TPo ../../gcc-src/gcc/prefix.cc
#13 1674.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o opts.o -MT opts.o -MMD -MP -MF ./.deps/opts.TPo ../../gcc-src/gcc/opts.cc
#13 1675.7 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o opts-common.o -MT opts-common.o -MMD -MP -MF ./.deps/opts-common.TPo ../../gcc-src/gcc/opts-common.cc
---
#13 1680.9 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic-spec.o -MT diagnostic-spec.o -MMD -MP -MF ./.deps/diagnostic-spec.TPo ../../gcc-src/gcc/diagnostic-spec.cc
#13 1681.6 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic.o -MT diagnostic.o -MMD -MP -MF ./.deps/diagnostic.TPo ../../gcc-src/gcc/diagnostic.cc
#13 1682.0 ../../gcc-src/gcc/diagnostic.cc: In function 'void fancy_abort(const char*, int, const char*)':
#13 1682.0 ../../gcc-src/gcc/diagnostic.cc:2316:15: warning: format not a string literal and no format arguments [-Wformat-security]
#13 1682.0  2316 |       fnotice (stderr, diagnostic_kind_text[DK_ICE]);
#13 1682.8 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic-color.o -MT diagnostic-color.o -MMD -MP -MF ./.deps/diagnostic-color.TPo ../../gcc-src/gcc/diagnostic-color.cc
#13 1682.9 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic-format-json.o -MT diagnostic-format-json.o -MMD -MP -MF ./.deps/diagnostic-format-json.TPo ../../gcc-src/gcc/diagnostic-format-json.cc
#13 1683.3 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic-format-sarif.o -MT diagnostic-format-sarif.o -MMD -MP -MF ./.deps/diagnostic-format-sarif.TPo ../../gcc-src/gcc/diagnostic-format-sarif.cc
#13 1684.5 g++ -fcf-protection -fPIC -c   -g -O2     -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -fPIC -I. -I. -I../../gcc-src/gcc -I../../gcc-src/gcc/. -I../../gcc-src/gcc/../include  -I../../gcc-src/gcc/../libcpp/include -I../../gcc-src/gcc/../libcody  -I../../gcc-src/gcc/../libdecnumber -I../../gcc-src/gcc/../libdecnumber/bid -I../libdecnumber -I../../gcc-src/gcc/../libbacktrace   -o diagnostic-show-locus.o -MT diagnostic-show-locus.o -MMD -MP -MF ./.deps/diagnostic-show-locus.TPo ../../gcc-src/gcc/diagnostic-show-locus.cc
---
#13 1766.7     fix_dir=include-fixed${multi_dir}; \
#13 1766.7     if ! false && test ! -d `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`; then \
#13 1766.7       echo "The directory (BUILD_SYSTEM_HEADER_DIR) that should contain system headers does not exist:" >&2 ; \
#13 1766.7       echo "  `echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" >&2 ; \
#13 1766.7       case linux-gnu in \
#13 1766.7         darwin*) \
#13 1766.7           echo "(on Darwin this usually means you need to pass the --with-sysroot= flag to point to a valid MacOS SDK)" >&2; \
#13 1766.7       esac; \
#13 1766.7       tooldir_sysinc=`echo "/scripts/gcc-build/../gcc-install/lib/gcc/x86_64-pc-linux-gnu/14.0.1/../../../../x86_64-pc-linux-gnu/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
#13 1766.7       if test "x`echo /usr/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`" = "x${tooldir_sysinc}"; \
#13 1766.7       then sleep 1; else exit 1; fi; \
---
#13 1768.7 rm -f mm_malloc.h
#13 1768.7 cat ../../gcc-src/gcc/config/i386/pmm_malloc.h > mm_malloc.h
#13 1768.7 if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
#13 1768.7 if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
#13 1768.7 for file in .. ../../gcc-src/gcc/ginclude/float.h ../../gcc-src/gcc/ginclude/iso646.h ../../gcc-src/gcc/ginclude/stdarg.h ../../gcc-src/gcc/ginclude/stdbool.h ../../gcc-src/gcc/ginclude/stddef.h ../../gcc-src/gcc/ginclude/varargs.h ../../gcc-src/gcc/ginclude/stdfix.h ../../gcc-src/gcc/ginclude/stdnoreturn.h ../../gcc-src/gcc/ginclude/stdalign.h ../../gcc-src/gcc/ginclude/stdatomic.h ../../gcc-src/gcc/ginclude/stdckdint.h ../../gcc-src/gcc/config/i386/cpuid.h ../../gcc-src/gcc/config/i386/mmintrin.h ../../gcc-src/gcc/config/i386/mm3dnow.h ../../gcc-src/gcc/config/i386/xmmintrin.h ../../gcc-src/gcc/config/i386/emmintrin.h ../../gcc-src/gcc/config/i386/pmmintrin.h ../../gcc-src/gcc/config/i386/tmmintrin.h ../../gcc-src/gcc/config/i386/ammintrin.h ../../gcc-src/gcc/config/i386/smmintrin.h ../../gcc-src/gcc/config/i386/nmmintrin.h ../../gcc-src/gcc/config/i386/bmmintrin.h ../../gcc-src/gcc/config/i386/fma4intrin.h ../../gcc-src/gcc/config/i386/wmmintrin.h ../../gcc-src/gcc/config/i386/immintrin.h ../../gcc-src/gcc/config/i386/x86intrin.h ../../gcc-src/gcc/config/i386/avxintrin.h ../../gcc-src/gcc/config/i386/xopintrin.h ../../gcc-src/gcc/config/i386/ia32intrin.h ../../gcc-src/gcc/config/i386/cross-stdarg.h ../../gcc-src/gcc/config/i386/lwpintrin.h ../../gcc-src/gcc/config/i386/popcntintrin.h ../../gcc-src/gcc/config/i386/lzcntintrin.h ../../gcc-src/gcc/config/i386/bmiintrin.h ../../gcc-src/gcc/config/i386/bmi2intrin.h ../../gcc-src/gcc/config/i386/tbmintrin.h ../../gcc-src/gcc/config/i386/avx2intrin.h ../../gcc-src/gcc/config/i386/avx512fintrin.h ../../gcc-src/gcc/config/i386/fmaintrin.h ../../gcc-src/gcc/config/i386/f16cintrin.h ../../gcc-src/gcc/config/i386/rtmintrin.h ../../gcc-src/gcc/config/i386/xtestintrin.h ../../gcc-src/gcc/config/i386/rdseedintrin.h ../../gcc-src/gcc/config/i386/prfchwintrin.h ../../gcc-src/gcc/config/i386/adxintrin.h ../../gcc-src/gcc/config/i386/fxsrintrin.h ../../gcc-src/gcc/config/i386/xsaveintrin.h ../../gcc-src/gcc/config/i386/xsaveoptintrin.h ../../gcc-src/gcc/config/i386/avx512cdintrin.h ../../gcc-src/gcc/config/i386/avx512erintrin.h ../../gcc-src/gcc/config/i386/avx512pfintrin.h ../../gcc-src/gcc/config/i386/shaintrin.h ../../gcc-src/gcc/config/i386/clflushoptintrin.h ../../gcc-src/gcc/config/i386/xsavecintrin.h ../../gcc-src/gcc/config/i386/xsavesintrin.h ../../gcc-src/gcc/config/i386/avx512dqintrin.h ../../gcc-src/gcc/config/i386/avx512bwintrin.h ../../gcc-src/gcc/config/i386/avx512vlintrin.h ../../gcc-src/gcc/config/i386/avx512vlbwintrin.h ../../gcc-src/gcc/config/i386/avx512vldqintrin.h ../../gcc-src/gcc/config/i386/avx512ifmaintrin.h ../../gcc-src/gcc/config/i386/avx512ifmavlintrin.h ../../gcc-src/gcc/config/i386/avx512vbmiintrin.h ../../gcc-src/gcc/config/i386/avx512vbmivlintrin.h ../../gcc-src/gcc/config/i386/avx5124fmapsintrin.h ../../gcc-src/gcc/config/i386/avx5124vnniwintrin.h ../../gcc-src/gcc/config/i386/avx512vpopcntdqintrin.h ../../gcc-src/gcc/config/i386/clwbintrin.h ../../gcc-src/gcc/config/i386/mwaitxintrin.h ../../gcc-src/gcc/config/i386/clzerointrin.h ../../gcc-src/gcc/config/i386/pkuintrin.h ../../gcc-src/gcc/config/i386/sgxintrin.h ../../gcc-src/gcc/config/i386/cetintrin.h ../../gcc-src/gcc/config/i386/gfniintrin.h ../../gcc-src/gcc/config/i386/cet.h ../../gcc-src/gcc/config/i386/avx512vbmi2intrin.h ../../gcc-src/gcc/config/i386/avx512vbmi2vlintrin.h ../../gcc-src/gcc/config/i386/avx512vnniintrin.h ../../gcc-src/gcc/config/i386/avx512vnnivlintrin.h ../../gcc-src/gcc/config/i386/vaesintrin.h ../../gcc-src/gcc/config/i386/vpclmulqdqintrin.h ../../gcc-src/gcc/config/i386/avx512vpopcntdqvlintrin.h ../../gcc-src/gcc/config/i386/avx512bitalgintrin.h ../../gcc-src/gcc/config/i386/avx512bitalgvlintrin.h ../../gcc-src/gcc/config/i386/pconfigintrin.h ../../gcc-src/gcc/config/i386/wbnoinvdintrin.h ../../gcc-src/gcc/config/i386/movdirintrin.h ../../gcc-src/gcc/config/i386/waitpkgintrin.h ../../gcc-src/gcc/config/i386/cldemoteintrin.h ../../gcc-src/gcc/config/i386/avx512bf16vlintrin.h ../../gcc-src/gcc/config/i386/avx512bf16intrin.h ../../gcc-src/gcc/config/i386/enqcmdintrin.h ../../gcc-src/gcc/config/i386/serializeintrin.h ../../gcc-src/gcc/config/i386/avx512vp2intersectintrin.h ../../gcc-src/gcc/config/i386/avx512vp2intersectvlintrin.h ../../gcc-src/gcc/config/i386/tsxldtrkintrin.h ../../gcc-src/gcc/config/i386/amxtileintrin.h ../../gcc-src/gcc/config/i386/amxint8intrin.h ../../gcc-src/gcc/config/i386/amxbf16intrin.h ../../gcc-src/gcc/config/i386/x86gprintrin.h ../../gcc-src/gcc/config/i386/uintrintrin.h ../../gcc-src/gcc/config/i386/hresetintrin.h ../../gcc-src/gcc/config/i386/keylockerintrin.h ../../gcc-src/gcc/config/i386/avxvnniintrin.h ../../gcc-src/gcc/config/i386/mwaitintrin.h ../../gcc-src/gcc/config/i386/avx512fp16intrin.h ../../gcc-src/gcc/config/i386/avx512fp16vlintrin.h ../../gcc-src/gcc/config/i386/avxifmaintrin.h ../../gcc-src/gcc/config/i386/avxvnniint8intrin.h ../../gcc-src/gcc/config/i386/avxneconvertintrin.h ../../gcc-src/gcc/config/i386/cmpccxaddintrin.h ../../gcc-src/gcc/config/i386/amxfp16intrin.h ../../gcc-src/gcc/config/i386/prfchiintrin.h ../../gcc-src/gcc/config/i386/raointintrin.h ../../gcc-src/gcc/config/i386/amxcomplexintrin.h ../../gcc-src/gcc/config/i386/avxvnniint16intrin.h ../../gcc-src/gcc/config/i386/sm3intrin.h ../../gcc-src/gcc/config/i386/sha512intrin.h ../../gcc-src/gcc/config/i386/sm4intrin.h ../../gcc-src/gcc/config/i386/usermsrintrin.h mm_malloc.h; do \
#13 1768.7     realfile=`echo $file | sed -e 's|.*/\([^/]*\)$|\1|'`; \
#13 1768.7     echo timestamp > include/$realfile; \
#13 1768.7     rm -f include/$realfile; \
#13 1768.7     cp $file include; \
---
#13 1769.2  if [ "experimental" = "experimental" ]; \
#13 1769.2  then echo "@set DEVELOPMENT"; \
#13 1769.2  else echo "@clear DEVELOPMENT"; \
#13 1769.2  fi) > gcc-vers.texiT
#13 1769.2 echo @set srcdir `echo /scripts/gcc-build/gcc/../../gcc-src/gcc | sed -e 's|\\([@{}]\\)|@\\1|g'` >> gcc-vers.texiT
#13 1769.2   echo "@set VERSION_PACKAGE (GCC) " >> gcc-vers.texiT; \
#13 1769.2 fi
#13 1769.2 echo "@set BUGURL @uref{https://gcc.gnu.org/bugs/}" >> gcc-vers.texiT; \
#13 1769.2 mv -f gcc-vers.texiT gcc-vers.texi
---
#13 1834.1     *.a)      \
#13 1834.1       ranlib --plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so ../.././gcc/$file ;; \
#13 1834.1   esac;       \
#13 1834.1 done
#13 1834.2 sed -e 's/__PFX__/__/g' \
#13 1834.2     -e 's/__FIXPTPFX__/__/g' < ../../../gcc-src/libgcc/libgcc-std.ver.in > libgcc-std.ver
#13 1834.2 { cat libgcc-std.ver ../../../gcc-src/libgcc/config/i386/libgcc-glibc.ver \
#13 1834.2     | sed -e '/^[  ]*#/d' \
#13 1834.2    -e 's/^%\(if\|else\|elif\|endif\|define\)/#\1/' \
#13 1834.2     | /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -g -O2 -O2  -g -O2 -DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -I. -I. -I../.././gcc -I../../../gcc-src/libgcc -I../../../gcc-src/libgcc/. -I../../../gcc-src/libgcc/../gcc -I../../../gcc-src/libgcc/../include -I../../../gcc-src/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS  -DUSE_TLS  -E -xassembler-with-cpp -; \
#13 1834.2 } > tmp-libgcc.map.in
#13 1834.2 mv tmp-libgcc.map.in libgcc.map.in
#13 1834.2 { /scripts/gcc-build/./gcc/nm -pg  _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _mulbitint3_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o _divmodbitint4_s.o cpuinfo_s.o sfp-exceptions_s.o _divhc3_s.o _mulhc3_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o fixsfbitint_s.o floatbitintsf_s.o fixdfbitint_s.o floatbitintdf_s.o extendhfsf2_s.o extendhfdf2_s.o extendhftf2_s.o extendhfxf2_s.o extendsfdf2_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o extendbfsf2_s.o trunctfhf2_s.o truncxfhf2_s.o truncdfhf2_s.o truncsfhf2_s.o trunctfsf2_s.o truncdfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o trunctfbf2_s.o truncxfbf2_s.o truncdfbf2_s.o truncsfbf2_s.o trunchfbf2_s.o fixtfbitint_s.o floatbitinttf_s.o fixhfti_s.o fixunshfti_s.o floattihf_s.o floatuntihf_s.o floattibf_s.o floatuntibf_s.o eqhf2_s.o fixxfbitint_s.o floatbitinthf_s.o floatbitintbf_s.o floatbitintxf_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o enable-execute-stack_s.o hardcfr_s.o strub_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o heap-trampoline_s.o emutls_s.o heap-trampoline_s.o emutls_s.o; echo %%; \
#13 1834.2   cat libgcc.map.in; \
#13 1834.2 } | mawk -f ../../../gcc-src/libgcc/mkmap-symver.awk  > tmp-libgcc.map
#13 1834.2 mv tmp-libgcc.map libgcc.map
#13 1834.2 # @multilib_flags@ is still needed because this may use
#13 1834.2 # /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    and -O2  -g -O2 -DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  directly.
#13 1834.2 # @multilib_dir@ is not really necessary, but sometimes it has
#13 1834.2 # more uses than just a directory name.
#13 1834.2 /bin/bash ../../../gcc-src/libgcc/../mkinstalldirs .
#13 1834.2 /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -O2  -g -O2 -DIN_GCC   -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fpic -mlong-double-80 -DUSE_ELF_SYMVER -fcf-protection -mshstk -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector  -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc.map  -o ./libgcc_s.so.1.tmp -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _mulbitint3_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o _divmodbitint4_s.o cpuinfo_s.o sfp-exceptions_s.o _divhc3_s.o _mulhc3_s.o addtf3_s.o divtf3_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o fixsfbitint_s.o floatbitintsf_s.o fixdfbitint_s.o floatbitintdf_s.o extendhfsf2_s.o extendhfdf2_s.o extendhftf2_s.o extendhfxf2_s.o extendsfdf2_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o extendbfsf2_s.o trunctfhf2_s.o truncxfhf2_s.o truncdfhf2_s.o truncsfhf2_s.o trunctfsf2_s.o truncdfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o trunctfbf2_s.o truncxfbf2_s.o truncdfbf2_s.o truncsfbf2_s.o trunchfbf2_s.o fixtfbitint_s.o floatbitinttf_s.o fixhfti_s.o fixunshfti_s.o floattihf_s.o floatuntihf_s.o floattibf_s.o floatuntibf_s.o eqhf2_s.o fixxfbitint_s.o floatbitinthf_s.o floatbitintbf_s.o floatbitintxf_s.o getf2_s.o letf2_s.o eqtf2_s.o _divtc3_s.o _multc3_s.o _powitf2_s.o enable-execute-stack_s.o hardcfr_s.o strub_s.o unwind-dw2_s.o unwind-dw2-fde-dip_s.o unwind-sjlj_s.o unwind-c_s.o heap-trampoline_s.o emutls_s.o libgcc.a -lc && rm -f ./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1 ./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && (echo "/* GNU ld script"; echo "   Use the shared library, but some functions are only in"; echo "   the static library.  */"; echo "GROUP ( libgcc_s.so.1 -lgcc )" ) > ./libgcc_s.so
#13 1834.3 cp unwind.h $dest; \
#13 1834.3 chmod a+r $dest; \
#13 1834.3 sh ../../../gcc-src/libgcc/../move-if-change $dest ../.././gcc/include/unwind.h
#13 1834.3 # Now that we have built all the objects, we need to copy
---
#13 1876.9 /bin/bash ./libtool  --tag=CC   --mode=compile /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -DHAVE_CONFIG_H -I. -I../../../gcc-src/libgomp  -I../../../gcc-src/libgomp/config/linux/x86 -I../../../gcc-src/libgomp/config/linux -I../../../gcc-src/libgomp/config/posix -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/../include  -Wall -Werror -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS -Wc,-pthread -fcf-protection -mshstk -g -O2 -MT target-indirect.lo -MD -MP -MF .deps/target-indirect.Tpo -c -o target-indirect.lo ../../../gcc-src/libgomp/target-indirect.c
#13 1876.9 libtool: compile:  /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/config/linux/x86 -I../../../gcc-src/libgomp/config/linux -I../../../gcc-src/libgomp/config/posix -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/../include -Wall -Werror -ftls-model=initial-exec -pthread -DUSING_INITIAL_EXEC_TLS -fcf-protection -mshstk -g -O2 -MT target-indirect.lo -MD -MP -MF .deps/target-indirect.Tpo -c ../../../gcc-src/libgomp/target-indirect.c  -fPIC -DPIC -o .libs/target-indirect.o
#13 1876.9 libtool: compile:  /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/config/linux/x86 -I../../../gcc-src/libgomp/config/linux -I../../../gcc-src/libgomp/config/posix -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/../include -Wall -Werror -ftls-model=initial-exec -pthread -DUSING_INITIAL_EXEC_TLS -fcf-protection -mshstk -g -O2 -MT target-indirect.lo -MD -MP -MF .deps/target-indirect.Tpo -c ../../../gcc-src/libgomp/target-indirect.c -o target-indirect.o >/dev/null 2>&1
#13 1876.9 mv -f .deps/target-indirect.Tpo .deps/target-indirect.Plo
#13 1876.9 /usr/bin/grep -E -v '#(#| |$)' ../../../gcc-src/libgomp/libgomp.map | \
#13 1876.9    /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -DHAVE_CONFIG_H -I. -I../../../gcc-src/libgomp  -I../../../gcc-src/libgomp/config/linux/x86 -I../../../gcc-src/libgomp/config/linux -I../../../gcc-src/libgomp/config/posix -I../../../gcc-src/libgomp -I../../../gcc-src/libgomp/../include  -Wall -Werror -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS  -pthread -fcf-protection -mshstk -g -O2 -E -P -include config.h - > libgomp.ver || (rm -f libgomp.ver ; exit 1)
#13 1876.9 /bin/bash ./libtool --tag CC   --mode=link /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -Wall -Werror -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS -Wc,-pthread -fcf-protection -mshstk -g -O2   -Wl,-O1   -o libgomp.la -version-info 1:0:0 -Wl,--version-script,libgomp.ver   -rpath /scripts/gcc-build/../gcc-install/lib/../lib64 alloc.lo atomic.lo barrier.lo critical.lo env.lo error.lo icv.lo icv-device.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo parallel.lo scope.lo sections.lo single.lo task.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo fortran.lo affinity.lo target.lo splay-tree.lo libgomp-plugin.lo oacc-parallel.lo oacc-host.lo oacc-init.lo oacc-mem.lo oacc-async.lo oacc-plugin.lo oacc-cuda.lo priority_queue.lo affinity-fmt.lo teams.lo allocator.lo oacc-profiling.lo oacc-target.lo target-indirect.lo  -ldl 
#13 1876.9 libtool: link: /scripts/gcc-build/./gcc/xgcc -B/scripts/gcc-build/./gcc/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/bin/ -B/scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/lib/ -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/include -isystem /scripts/gcc-build/../gcc-install/x86_64-pc-linux-gnu/sys-include    -shared  -fPIC -DPIC  .libs/alloc.o .libs/atomic.o .libs/barrier.o .libs/critical.o .libs/env.o .libs/error.o .libs/icv.o .libs/icv-device.o .libs/iter.o .libs/iter_ull.o .libs/loop.o .libs/loop_ull.o .libs/ordered.o .libs/parallel.o .libs/scope.o .libs/sections.o .libs/single.o .libs/task.o .libs/team.o .libs/work.o .libs/lock.o .libs/mutex.o .libs/proc.o .libs/sem.o .libs/bar.o .libs/ptrlock.o .libs/time.o .libs/fortran.o .libs/affinity.o .libs/target.o .libs/splay-tree.o .libs/libgomp-plugin.o .libs/oacc-parallel.o .libs/oacc-host.o .libs/oacc-init.o .libs/oacc-mem.o .libs/oacc-async.o .libs/oacc-plugin.o .libs/oacc-cuda.o .libs/priority_queue.o .libs/affinity-fmt.o .libs/teams.o .libs/allocator.o .libs/oacc-profiling.o .libs/oacc-target.o .libs/target-indirect.o   -ldl  -pthread -mshstk -Wl,-O1 -Wl,--version-script -Wl,libgomp.ver   -Wl,-soname -Wl,libgomp.so.1 -o .libs/libgomp.so.1.0.0
#13 1877.0 libtool: link: (cd ".libs" && rm -f "libgomp.so" && ln -s "libgomp.so.1.0.0" "libgomp.so")
#13 1877.0 libtool: link: ar --plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so --plugin /scripts/gcc-build/./gcc/liblto_plugin.so rc .libs/libgomp.a  alloc.o atomic.o barrier.o critical.o env.o error.o icv.o icv-device.o iter.o iter_ull.o loop.o loop_ull.o ordered.o parallel.o scope.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o sem.o bar.o ptrlock.o time.o fortran.o affinity.o target.o splay-tree.o libgomp-plugin.o oacc-parallel.o oacc-host.o oacc-init.o oacc-mem.o oacc-async.o oacc-plugin.o oacc-cuda.o priority_queue.o affinity-fmt.o teams.o allocator.o oacc-profiling.o oacc-target.o target-indirect.o
#13 1877.0 libtool: link: ranlib --plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so --plugin /scripts/gcc-build/./gcc/liblto_plugin.so .libs/libgomp.a
#13 1877.0 libtool: link: ( cd ".libs" && rm -f "libgomp.la" && ln -s "../libgomp.la" "libgomp.la" )
---
#13 1886.3   libgccjit.so.0\
#13 1886.3   /scripts/gcc-build/../gcc-install/lib/libgccjit.so
#13 1886.3 /usr/bin/install -c lto-dump \
#13 1886.3 /scripts/gcc-build/../gcc-install/bin/lto-dump
#13 1886.5 for file in gnat1 cc1 cc1plus d21 f951 go1  lto1 cc1gm2 cc1obj cc1objplus crab1; do \
#13 1886.5     rm -f /scripts/gcc-build/../gcc-install/libexec/gcc/x86_64-pc-linux-gnu/14.0.1/$file; \
#13 1886.5     /usr/bin/install -c $file /scripts/gcc-build/../gcc-install/libexec/gcc/x86_64-pc-linux-gnu/14.0.1/$file; \
#13 1886.5   else true; \
#13 1886.5   fi; \
---
#13 1887.0     fi ; \
#13 1887.0   done; \
#13 1887.0 fi
#13 1887.1 rm -f tmp-header-vars
#13 1887.2 echo USER_H=float.h iso646.h stdarg.h stdbool.h stddef.h varargs.h stdfix.h stdnoreturn.h stdalign.h stdatomic.h stdckdint.h config/i386/cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h immintrin.h x86intrin.h avxintrin.h xopintrin.h ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h avx512cdintrin.h avx512erintrin.h avx512pfintrin.h shaintrin.h clflushoptintrin.h xsavecintrin.h xsavesintrin.h avx512dqintrin.h avx512bwintrin.h avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h gfniintrin.h cet.h avx512vbmi2intrin.h avx512vbmi2vlintrin.h avx512vnniintrin.h avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h avx512vpopcntdqvlintrin.h avx512bitalgintrin.h avx512bitalgvlintrin.h pconfigintrin.h wbnoinvdintrin.h movdirintrin.h waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h avx512bf16intrin.h enqcmdintrin.h serializeintrin.h avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h amxbf16intrin.h x86gprintrin.h uintrintrin.h hresetintrin.h keylockerintrin.h avxvnniintrin.h mwaitintrin.h avx512fp16intrin.h avx512fp16vlintrin.h avxifmaintrin.h avxvnniint8intrin.h avxneconvertintrin.h cmpccxaddintrin.h amxfp16intrin.h prfchiintrin.h raointintrin.h amxcomplexintrin.h avxvnniint16intrin.h sm3intrin.h sha512intrin.h sm4intrin.h usermsrintrin.h mm_malloc.h >> tmp-header-vars; echo T_GLIMITS_H=glimits.h >> tmp-header-vars; echo T_STDINT_GCC_H=stdint-gcc.h >> tmp-header-vars; echo HASHTAB_H=hashtab.h >> tmp-header-vars; echo OBSTACK_H=obstack.h >> tmp-header-vars; echo SPLAY_TREE_H=splay-tree.h >> tmp-header-vars; echo MD5_H=md5.h >> tmp-header-vars; echo XREGEX_H=xregex.h >> tmp-header-vars; echo FNMATCH_H=fnmatch.h >> tmp-header-vars; echo LINKER_PLUGIN_API_H=plugin-api.h >> tmp-header-vars; echo BCONFIG_H=bconfig.h auto-host.h ansidecl.h >> tmp-header-vars; echo CONFIG_H=config.h auto-host.h ansidecl.h >> tmp-header-vars; echo TCONFIG_H=tconfig.h auto-host.h ansidecl.h >> tmp-header-vars; echo TM_P_H=tm_p.h config/i386/i386-protos.h linux-protos.h tm-preds.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h >> tmp-header-vars; echo TM_D_H=tm_d.h config/i386/i386-d.h >> tmp-header-vars; echo TM_RUST_H=tm_rust.h config/i386/i386-rust.h >> tmp-header-vars; echo TM_JIT_H=tm_jit.h config/i386/i386-jit.h >> tmp-header-vars; echo GTM_H=tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h >> tmp-header-vars; echo TM_H=tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def >> tmp-header-vars; echo DUMPFILE_H=line-map.h dumpfile.h >> tmp-header-vars; echo VEC_H=vec.h statistics.h ggc.h gtype-desc.h statistics.h >> tmp-header-vars; echo HASH_TABLE_H=hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h >> tmp-header-vars; echo EXCEPT_H=except.h hashtab.h >> tmp-header-vars; echo TARGET_H=tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def target.h target.def target-hooks-macros.h target-insns.def insn-modes.h insn-codes.h >> tmp-header-vars; echo C_TARGET_H=c-family/c-target.h c-family/c-target.def target-hooks-macros.h >> tmp-header-vars; echo COMMON_TARGET_H=common/common-target.h line-map.h input.h common/common-target.def target-hooks-macros.h >> tmp-header-vars; echo D_TARGET_H=d/d-target.h d/d-target.def target-hooks-macros.h >> tmp-header-vars; echo RUST_TARGET_H=rust/rust-target.h rust/rust-target.def target-hooks-macros.h >> tmp-header-vars; echo JIT_TARGET_H=jit/jit-target.h jit/jit-target.def target-hooks-macros.h >> tmp-header-vars; echo MACHMODE_H=machmode.h mode-classes.def >> tmp-header-vars; echo HOOKS_H=hooks.h >> tmp-header-vars; echo HOSTHOOKS_DEF_H=hosthooks-def.h hooks.h >> tmp-header-vars; echo LANGHOOKS_DEF_H=langhooks-def.h hooks.h >> tmp-header-vars; echo TARGET_DEF_H=target-def.h target-hooks-def.h hooks.h targhooks.h >> tmp-header-vars; echo C_TARGET_DEF_H=c-family/c-target-def.h c-family/c-target-hooks-def.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h rich-location.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def hooks.h common/common-targhooks.h >> tmp-header-vars; echo CORETYPES_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h >> tmp-header-vars; echo RTL_BASE_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h >> tmp-header-vars; echo FIXED_VALUE_H=fixed-value.h >> tmp-header-vars; echo RTL_H=coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def genrtl.h >> tmp-header-vars; echo READ_MD_H=obstack.h hashtab.h read-md.h >> tmp-header-vars; echo INTERNAL_FN_H=internal-fn.h internal-fn.def insn-opinit.h >> tmp-header-vars; echo TREE_CORE_H=tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h >> tmp-header-vars; echo TREE_H=tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h >> tmp-header-vars; echo REGSET_H=regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h >> tmp-header-vars; echo BASIC_BLOCK_H=basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h >> tmp-header-vars; echo GIMPLE_H=gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def insn-opinit.h hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h >> tmp-header-vars; echo GCOV_IO_H=gcov-io.h version.h auto-host.h gcov-counter.def >> tmp-header-vars; echo RECOG_H=recog.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h >> tmp-header-vars; echo EMIT_RTL_H=emit-rtl.h >> tmp-header-vars; echo FLAGS_H=flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def >> tmp-header-vars; echo OPTIONS_H=options.h flag-types.h config/i386/i386-opts.h stringop.def >> tmp-header-vars; echo FUNCTION_H=function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h >> tmp-header-vars; echo EXPR_H=expr.h insn-config.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h rtl.h rtl.def reg-notes.def insn-notes.def line-map.h input.h real.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h fixed-value.h alias.h hashtab.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def genrtl.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h emit-rtl.h >> tmp-header-vars; echo OPTABS_H=optabs.h insn-codes.h insn-opinit.h >> tmp-header-vars; echo REGS_H=regs.h hard-reg-set.h >> tmp-header-vars; echo CFGLOOP_H=cfgloop.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h bitmap.h hashtab.h statistics.h sbitmap.h >> tmp-header-vars; echo IPA_UTILS_H=ipa-utils.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h >> tmp-header-vars; echo IPA_REFERENCE_H=ipa-reference.h bitmap.h hashtab.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h >> tmp-header-vars; echo CGRAPH_H=cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h function.h hashtab.h tm.h options.h vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cif-code.def ipa-ref.h plugin-api.h is-a.h >> tmp-header-vars; echo DF_H=df.h bitmap.h hashtab.h statistics.h regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h alloc-pool.h timevar.h timevar.def >> tmp-header-vars; echo RESOURCE_H=resource.h hard-reg-set.h df.h bitmap.h hashtab.h statistics.h regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h alloc-pool.h timevar.h timevar.def >> tmp-header-vars; echo GCC_H=gcc.h version.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def >> tmp-header-vars; echo GGC_H=ggc.h gtype-desc.h statistics.h >> tmp-header-vars; echo TIMEVAR_H=timevar.h timevar.def >> tmp-header-vars; echo INSN_ATTR_H=insn-attr.h insn-attr-common.h insn-addr.h >> tmp-header-vars; echo INSN_ADDR_H=insn-addr.h >> tmp-header-vars; echo C_COMMON_H=c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h rich-location.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def >> tmp-header-vars; echo C_PRAGMA_H=c-family/c-pragma.h line-map.h rich-location.h cpplib.h >> tmp-header-vars; echo C_TREE_H=c/c-tree.h c-family/c-common.h c-family/c-common.def tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h config/i386/i386-opts.h stringop.def real.h fixed-value.h tree-check.h splay-tree.h line-map.h rich-location.h cpplib.h ggc.h gtype-desc.h statistics.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def diagnostic.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def pretty-print.h line-map.h input.h obstack.h wide-int-print.h >> tmp-header-vars; echo SYSTEM_H=system.h hwint.h libiberty.h safe-ctype.h filenames.h hashtab.h >> tmp-header-vars; echo PREDICT_H=predict.h predict.def >> tmp-header-vars; echo CPPLIB_H=line-map.h rich-location.h cpplib.h >> tmp-header-vars; echo CODYLIB_H=cody.hh >> tmp-header-vars; echo INPUT_H=line-map.h input.h >> tmp-header-vars; echo OPTS_H=line-map.h input.h vec.h statistics.h ggc.h gtype-desc.h statistics.h opts.h obstack.h >> tmp-header-vars; echo SYMTAB_H=symtab.h obstack.h >> tmp-header-vars; echo CPP_INTERNAL_H=internal.h >> tmp-header-vars; echo TREE_DUMP_H=tree-dump.h splay-tree.h line-map.h dumpfile.h >> tmp-header-vars; echo TREE_PASS_H=tree-pass.h timevar.h timevar.def line-map.h dumpfile.h >> tmp-header-vars; echo TREE_SSA_H=tree-ssa.h tree-ssa-operands.h bitmap.h hashtab.h statistics.h sbitmap.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h gimple.h gimple.def gsstruct.def vec.h statistics.h ggc.h gtype-desc.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h ggc.h gtype-desc.h statistics.h function.h hashtab.h tm.h options.h vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.def hard-reg-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h line-map.h input.h cfg-flags.def cfghooks.h profile-count.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-builtins.def gtm-builtins.def sanitizer.def line-map.h input.h statistics.h vec.h statistics.h ggc.h gtype-desc.h statistics.h treestruct.def hashtab.h alias.h symtab.h obstack.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.def real.h fixed-value.h tree-check.h tree-ssa-operands.h tree-ssa-alias.h internal-fn.h internal-fn.def insn-opinit.h hashtab.h hash-table.h ggc.h gtype-desc.h statistics.h is-a.h hashtab.h cgraph.h vec.h statistics.h ggc.h gtype-desc.h statistics.h tree.h tree-core.h coretypes.h insn-modes.h signop.h wide-int.h wide-int-print.h insn-modes-inline.h machmode.h mode-classes.def double-int.h align.h poly-int.h poly-int-types.h all-tree.def tree.def c-family/c-common.def ada-tree.def c-tree.def cp-tree.def d-tree.def m2-tree.def objc-tree.def builtins.def sync-builtins.def omp-bu
#13 1889.7 + rm -rf ../gcc-src
#13 1892.0 + ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so
#13 1892.0 + ln -s /scripts/gcc-install/lib/libgccjit.so /usr/lib/x86_64-linux-gnu/libgccjit.so.0
#13 DONE 1892.6s
---
#14 writing image sha256:4b2699312fd85913fec812217579db40bcbb8772f073c4cbf60ce745e66536e2 done
#14 naming to docker.io/library/rust-ci done
#14 DONE 13.5s
##[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-16]
##[group]Clock drift check
  local time: Fri Mar 15 15:11:27 UTC 2024
  network time: Fri, 15 Mar 2024 15:11:27 GMT
  network time: Fri, 15 Mar 2024 15:11:27 GMT
##[endgroup]
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-16', '--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', '--set', 'build.optimized-compiler-builtins', '--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-16/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id            := 99999999
---
.

failures:

---- [mir-opt] tests/mir-opt/building/custom/arrays.rs stdout ----
8     bb0: {
9         _1 = [const 5_i32; C];
10         _2 = Len(_1);
-         _0 = _2;
+         _0 = copy _2;
13     }
14 }

thread '[mir-opt] tests/mir-opt/building/custom/arrays.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/arrays.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/arrays.arrays.built.after.mir

---- [mir-opt] tests/mir-opt/array_index_is_temporary.rs stdout ----
35         StorageDead(_4);
36         StorageLive(_5);
36         StorageLive(_5);
37         StorageLive(_6);
-         _6 = _3;
+         _6 = copy _3;
39         _5 = foo(move _6) -> [return: bb1, unwind continue];
41 

42     bb1: {
43         StorageDead(_6);
43         StorageDead(_6);
44         StorageLive(_7);
-         _7 = _2;
+         _7 = copy _2;
46         _8 = Len(_1);
-         _9 = Lt(_7, _8);
-         assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> [success: bb2, unwind continue];
+         _9 = Lt(copy _7, copy _8);
+         assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, copy _7) -> [success: bb2, unwind continue];
50 
51     bb2: {

thread '[mir-opt] tests/mir-opt/array_index_is_temporary.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/array_index_is_temporary.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/array_index_is_temporary.main.SimplifyCfg-elaborate-drops.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/basic_assignment.rs stdout ----
27           _1 = const false;
28           StorageLive(_2);
29           StorageLive(_3);
29           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
31           _2 = move _3;
32           StorageDead(_3);
33           StorageLive(_4);

thread '[mir-opt] tests/mir-opt/basic_assignment.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/basic_assignment.main.ElaborateDrops.diff
---- [mir-opt] tests/mir-opt/building/async_await.rs stdout ----
149         StorageLive(_13);
150         StorageLive(_14);
151         StorageLive(_15);
151         StorageLive(_15);
-         _15 = _38;
+         _15 = copy _38;
153         _14 = move _15;
154         goto -> bb6;
155     }

192 
193     bb10: {
194         StorageLive(_17);
-         _17 = ((_9 as Ready).0: ());
-         _3 = _17;
+         _17 = copy ((_9 as Ready).0: ());
+         _3 = copy _17;
197         StorageDead(_17);
198         StorageDead(_14);
199         StorageDead(_12);
251         StorageLive(_29);
252         StorageLive(_30);
253         StorageLive(_31);
-         _31 = _38;
-         _31 = _38;
+         _31 = copy _38;
255         _30 = move _31;
256         goto -> bb18;
257     }

289 
290     bb21: {
291         StorageLive(_33);
-         _33 = ((_25 as Ready).0: ());
-         _37 = _33;
+         _33 = copy ((_25 as Ready).0: ());
+         _37 = copy _33;
294         StorageDead(_33);
295         StorageDead(_30);
296         StorageDead(_28);
thread '[mir-opt] tests/mir-opt/building/async_await.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/async_await.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/async_await.b-{closure#0}.coroutine_resume.0.mir
---- [mir-opt] tests/mir-opt/building/custom/aggregate_exprs.rs stdout ----
8     bb0: {
8     bb0: {
9         _1 = [const 42_i32, const 43_i32];
10         _2 = const 1_i32;
-         _1 = [_2, const 2_i32];
+         _1 = [copy _2, const 2_i32];
12         _0 = move _1;
14     }

thread '[mir-opt] tests/mir-opt/building/custom/aggregate_exprs.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/aggregate_exprs.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/aggregate_exprs.array.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/as_cast.rs stdout ----
4     let mut _0: i32;
5 
6     bb0: {
6     bb0: {
-         _0 = _1 as i32 (IntToInt);
+         _0 = copy _1 as i32 (IntToInt);
9     }
10 }

thread '[mir-opt] tests/mir-opt/building/custom/as_cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/as_cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/as_cast.int_to_int.built.after.mir
---- [mir-opt] tests/mir-opt/address_of.rs stdout ----
140         StorageLive(_6);
140         StorageLive(_6);
141         _6 = &raw const (*_1);
142         AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] });
-         _5 = _6;
+         _5 = copy _6;
144         StorageDead(_6);
145         StorageDead(_5);
146         StorageLive(_7);

153         _9 = move _10 as *const dyn std::marker::Send (PointerCoercion(Unsize));
154         StorageDead(_10);
155         AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] });
-         _8 = _9;
+         _8 = copy _9;
157         StorageDead(_9);
158         StorageDead(_8);
159         StorageLive(_11);
194         StorageLive(_22);
194         StorageLive(_22);
195         _22 = &raw const (*_3);
Build completed unsuccessfully in 0:14:52
196         AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] });
-         _21 = _22;
+         _21 = copy _22;
198         StorageDead(_22);
199         StorageDead(_21);
200         StorageLive(_23);

207         _25 = move _26 as *const dyn std::marker::Send (PointerCoercion(Unsize));
208         StorageDead(_26);
209         AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] });
-         _24 = _25;
+         _24 = copy _25;
211         StorageDead(_25);
212         StorageDead(_24);
213         StorageLive(_27);
242         StorageLive(_36);
242         StorageLive(_36);
243         _36 = &raw mut (*_3);
244         AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] });
-         _35 = _36;
+         _35 = copy _36;
246         StorageDead(_36);
247         StorageDead(_35);
248         StorageLive(_37);

255         _39 = move _40 as *mut dyn std::marker::Send (PointerCoercion(Unsize));
256         StorageDead(_40);
257         AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] });
-         _38 = _39;
+         _38 = copy _39;
259         StorageDead(_39);
260         StorageDead(_38);
261         StorageLive(_41);
thread '[mir-opt] tests/mir-opt/address_of.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/address_of.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir
---- [mir-opt] tests/mir-opt/building/custom/arbitrary_let.rs stdout ----
6     let mut _3: i32;
7 
8     bb0: {
---
20         goto -> bb1;
21     }
22 }

thread '[mir-opt] tests/mir-opt/building/custom/arbitrary_let.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/arbitrary_let.arbitrary_let.built.after.mir
---- [mir-opt] tests/mir-opt/box_expr.rs stdout ----


error: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-16/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/box_expr/box_expr.mir" "/checkout/tests/mir-opt/box_expr.rs" "--check-prefix=CHECK" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
/checkout/tests/mir-opt/box_expr.rs:10:12: error: CHECK: expected string not found in input
/checkout/tests/mir-opt/box_expr.rs:10:12: error: CHECK: expected string not found in input
 // CHECK: [[ptr:_.*]] = ((([[box]].0: std::ptr::Unique<S>).0: std::ptr::NonNull<S>).0: *const S);
           ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/box_expr/box_expr.mir:30:22: note: scanning from here
 _5 = ShallowInitBox(move _4, S);
                     ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/box_expr/box_expr.mir:30:22: note: with "box" equal to "_5"
 _5 = ShallowInitBox(move _4, S);
                     ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/box_expr/box_expr.mir:31:2: note: possible intended match here
 _10 = copy (((_5.0: std::ptr::Unique<S>).0: std::ptr::NonNull<S>).0: *const S);

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt/box_expr/box_expr.mir
Check file: /checkout/tests/mir-opt/box_expr.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
            1: // WARNING: This output format is intended for human consumers only 
            2: // and is subject to change without notice. Knock yourself out. 
            3: fn main() -> () { 
            4:  let mut _0: (); 
            5:  let _1: std::boxed::Box<S>; 
            6:  let mut _2: usize; 
            7:  let mut _3: usize; 
            8:  let mut _4: *mut u8; 
            9:  let mut _5: std::boxed::Box<S>; 
           10:  let _6: (); 
           11:  let mut _7: std::boxed::Box<S>; 
           12:  let mut _8: &mut std::boxed::Box<S>; 
           13:  let mut _9: (); 
           14:  let mut _10: *const S; 
           15:  scope 1 { 
           16:  debug x => _1; 
           17:  } 
           18:  scope 2 { 
           19:  } 
           20:  
           21:  bb0: { 
           22:  StorageLive(_1); 
           23:  _2 = SizeOf(S); 
           24:  _3 = AlignOf(S); 
           25:  _4 = alloc::alloc::exchange_malloc(move _2, move _3) -> [return: bb1, unwind continue]; 
           26:  } 
           27:  
           28:  bb1: { 
           29:  StorageLive(_5); 
           30:  _5 = ShallowInitBox(move _4, S); 
check:10'0                          X~~~~~~~~~~~~ error: no match found
check:10'1                                        with "box" equal to "_5"
           31:  _10 = copy (((_5.0: std::ptr::Unique<S>).0: std::ptr::NonNull<S>).0: *const S); 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:10'2      ?                                                                                possible intended match
           32:  (*_10) = S::new() -> [return: bb2, unwind: bb5]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           33:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
           35:  bb2: { 
check:10'0     ~~~~~~~~
           36:  _1 = move _5; 
check:10'0     ~~~~~~~~~~~~~~~
           37:  StorageDead(_5); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           38:  StorageLive(_6); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           39:  StorageLive(_7); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           40:  _7 = move _1; 
check:10'0     ~~~~~~~~~~~~~~~
           41:  _6 = std::mem::drop::<Box<S>>(move _7) -> [return: bb3, unwind: bb4]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           42:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
           44:  bb3: { 
check:10'0     ~~~~~~~~
           45:  StorageDead(_7); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           46:  StorageDead(_6); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           47:  _0 = const (); 
check:10'0     ~~~~~~~~~~~~~~~~
           48:  StorageDead(_1); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           49:  return; 
check:10'0     ~~~~~~~~~
           50:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
           52:  bb4 (cleanup): { 
check:10'0     ~~~~~~~~~~~~~~~~~~
           53:  resume; 
check:10'0     ~~~~~~~~~
           54:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
           56:  bb5 (cleanup): { 
check:10'0     ~~~~~~~~~~~~~~~~~~
           57:  _8 = &mut _5; 
check:10'0     ~~~~~~~~~~~~~~~
           58:  _9 = <Box<S> as Drop>::drop(move _8) -> [return: bb6, unwind terminate(cleanup)]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           59:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
           61:  bb6 (cleanup): { 
check:10'0     ~~~~~~~~~~~~~~~~~~
           62:  goto -> bb4; 
check:10'0     ~~~~~~~~~~~~~~
           63:  } 
check:10'0     ~~~
           64: } 
check:10'0     ~~
check:10'0     ~
check:10'0     ~
           66: fn <impl at /checkout/tests/mir-opt/box_expr.rs:27:1: 27:7>::new() -> S { 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           67:  let mut _0: S; 
check:10'0     ~~~~~~~~~~~~~~~~
check:10'0     ~
check:10'0     ~
           69:  bb0: { 
check:10'0     ~~~~~~~~
           70:  _0 = S; 
check:10'0     ~~~~~~~~~
           71:  return; 
check:10'0     ~~~~~~~~~
           72:  } 
check:10'0     ~~~
           73: } 
check:10'0     ~~
check:10'0     ~
check:10'0     ~
           75: fn <impl at /checkout/tests/mir-opt/box_expr.rs:33:1: 33:16>::drop(_1: &mut S) -> () { 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           76:  debug self => _1; 
check:10'0     ~~~~~~~~~~~~~~~~~~~
           77:  let mut _0: (); 
check:10'0     ~~~~~~~~~~~~~~~~~
           78:  let _2: (); 
check:10'0     ~~~~~~~~~~~~~
           79:  let _3: (); 
check:10'0     ~~~~~~~~~~~~~
           80:  let mut _4: std::fmt::Arguments<'_>; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           81:  let mut _5: &[&str]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~
           82:  let mut _6: &[&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
           83:  let _7: &[&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~
           84:  let _8: [&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~
           85:  let mut _9: &[&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
check:10'0     ~
check:10'0     ~
           87:  bb0: { 
check:10'0     ~~~~~~~~
           88:  StorageLive(_2); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           89:  StorageLive(_3); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           90:  StorageLive(_4); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           91:  StorageLive(_5); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           92:  StorageLive(_6); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           93:  StorageLive(_7); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           94:  _9 = const <S as std::ops::Drop>::drop::promoted[0]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           95:  _7 = &(*_9); 
check:10'0     ~~~~~~~~~~~~~~
           96:  _6 = &(*_7); 
check:10'0     ~~~~~~~~~~~~~~
           97:  _5 = move _6 as &[&str] (PointerCoercion(Unsize)); 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           98:  StorageDead(_6); 
check:10'0     ~~~~~~~~~~~~~~~~~~
           99:  _4 = Arguments::<'_>::new_const(move _5) -> [return: bb1, unwind continue]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          100:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
          102:  bb1: { 
check:10'0     ~~~~~~~~
          103:  StorageDead(_5); 
check:10'0     ~~~~~~~~~~~~~~~~~~
          104:  _3 = _print(move _4) -> [return: bb2, unwind continue]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          105:  } 
check:10'0     ~~~
check:10'0     ~
check:10'0     ~
          107:  bb2: { 
check:10'0     ~~~~~~~~
          108:  StorageDead(_4); 
check:10'0     ~~~~~~~~~~~~~~~~~~
          109:  StorageDead(_7); 
check:10'0     ~~~~~~~~~~~~~~~~~~
          110:  StorageDead(_3); 
check:10'0     ~~~~~~~~~~~~~~~~~~
          111:  _2 = const (); 
check:10'0     ~~~~~~~~~~~~~~~~
          112:  StorageDead(_2); 
check:10'0     ~~~~~~~~~~~~~~~~~~
          113:  _0 = const (); 
check:10'0     ~~~~~~~~~~~~~~~~
          114:  return; 
check:10'0     ~~~~~~~~~
          115:  } 
check:10'0     ~~~
          116: } 
check:10'0     ~~
check:10'0     ~
check:10'0     ~
          118: const <impl at /checkout/tests/mir-opt/box_expr.rs:33:1: 33:16>::drop::promoted[0]: &[&str; 1] = { 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          119:  let mut _0: &[&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
          120:  let mut _1: [&str; 1]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~
check:10'0     ~
check:10'0     ~
          122:  bb0: { 
check:10'0     ~~~~~~~~
          123:  _1 = [const "splat!\n"]; 
check:10'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
          124:  _0 = &_1; 
check:10'0     ~~~~~~~~~~~
          125:  return; 
check:10'0     ~~~~~~~~~
          126:  } 
check:10'0     ~~~
          127: } 
check:10'0     ~~
------------------------------------------


---- [mir-opt] tests/mir-opt/building/custom/operators.rs stdout ----
---- [mir-opt] tests/mir-opt/building/custom/operators.rs stdout ----
5     let mut _3: (i32, bool);
6 
7     bb0: {
-         _1 = Neg(_1);
-         _2 = Not(_2);
-         _1 = Add(_1, _1);
-         _1 = Sub(_1, _1);
-         _1 = Mul(_1, _1);
-         _1 = Div(_1, _1);
-         _1 = Rem(_1, _1);
-         _1 = BitXor(_1, _1);
-         _1 = BitAnd(_1, _1);
-         _1 = Shl(_1, _1);
-         _1 = Shr(_1, _1);
-         _2 = Eq(_1, _1);
-         _2 = Lt(_1, _1);
-         _2 = Le(_1, _1);
-         _2 = Ge(_1, _1);
-         _2 = Gt(_1, _1);
-         _3 = CheckedAdd(_1, _1);
-         _2 = (_3.1: bool);
-         _1 = (_3.0: i32);
-         _0 = _1;
+         _1 = Neg(copy _1);
+         _2 = Not(copy _2);
+         _1 = Add(copy _1, copy _1);
+         _1 = Sub(copy _1, copy _1);
+         _1 = Mul(copy _1, copy _1);
+         _1 = Div(copy _1, copy _1);
+         _1 = Rem(copy _1, copy _1);
+         _1 = BitXor(copy _1, copy _1);
+         _1 = BitAnd(copy _1, copy _1);
+         _1 = Shl(copy _1, copy _1);
+         _1 = Shr(copy _1, copy _1);
+         _2 = Eq(copy _1, copy _1);
+         _2 = Lt(copy _1, copy _1);
+         _2 = Le(copy _1, copy _1);
+         _2 = Ge(copy _1, copy _1);
+         _2 = Gt(copy _1, copy _1);
+         _3 = CheckedAdd(copy _1, copy _1);
+         _2 = copy (_3.1: bool);
+         _1 = copy (_3.0: i32);
+         _0 = copy _1;
29     }
30 }

thread '[mir-opt] tests/mir-opt/building/custom/operators.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/operators.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/operators.f.built.after.mir
---- [mir-opt] tests/mir-opt/building/issue_101867.rs stdout ----
64     }
65 
66     bb8: {
66     bb8: {
-         _5 = ((_1 as Some).0: u8);
+         _5 = copy ((_1 as Some).0: u8);
68         _0 = const ();
69         StorageDead(_5);
70         StorageDead(_1);
thread '[mir-opt] tests/mir-opt/building/issue_101867.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/issue_101867.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/issue_101867.main.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/simple_assign.rs stdout ----
7 
8     bb0: {
9         StorageLive(_2);
---
18         return;
19     }
20 }

thread '[mir-opt] tests/mir-opt/building/custom/simple_assign.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/simple_assign.simple.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/assume.rs stdout ----
4     let mut _0: ();
5 
6     bb0: {
6     bb0: {
-         assume(_1);
+         assume(copy _1);
8         return;
9     }
10 }

thread '[mir-opt] tests/mir-opt/building/custom/assume.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/assume.assume_local.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/references.rs stdout ----
4     let mut _0: *const i32;
5 
6     bb0: {
6     bb0: {
-         _0 = Offset(_1, const 1_isize);
+         _0 = Offset(copy _1, const 1_isize);
9     }
10 }

thread '[mir-opt] tests/mir-opt/building/custom/references.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/references.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/references.raw_pointer_offset.built.after.mir
---- [mir-opt] tests/mir-opt/building/issue_49232.rs stdout ----
25         StorageLive(_3);
26         _3 = const true;
27         PlaceMention(_3);
27         PlaceMention(_3);
-         switchInt(_3) -> [0: bb4, otherwise: bb6];
+         switchInt(copy _3) -> [0: bb4, otherwise: bb6];
30 
31     bb3: {

thread '[mir-opt] tests/mir-opt/building/issue_49232.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/issue_49232.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/issue_49232.main.built.after.mir
---- [mir-opt] tests/mir-opt/building/enum_cast.rs stdout ----
12         StorageLive(_2);
13         _2 = move _1;
13         _2 = move _1;
14         _3 = discriminant(_2);
-         _4 = _3 as u8 (IntToInt);
-         _5 = Le(_4, const 1_u8);
+         _4 = copy _3 as u8 (IntToInt);
+         _5 = Le(copy _4, const 1_u8);
17         assume(move _5);
18         _0 = move _3 as usize (IntToInt);
19         StorageDead(_2);
thread '[mir-opt] tests/mir-opt/building/enum_cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/enum_cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/enum_cast.bar.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/projections.rs stdout ----
4     let mut _0: i32;
5 
6     bb0: {
6     bb0: {
-         _0 = (_1.0: i32);
+         _0 = copy (_1.0: i32);
9     }
10 }

thread '[mir-opt] tests/mir-opt/building/custom/projections.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/projections.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/projections.unions.built.after.mir
---- [mir-opt] tests/mir-opt/async_closure_shims.rs stdout ----
9     bb0: {
10         StorageLive(_3);
10         StorageLive(_3);
11         _3 = &((*_1).0: i32);
-         _0 = {coroutine@$DIR/async_closure_shims.rs:39:53: 42:10 (#0)} { a: _2, b: move _3 };
+         _0 = {coroutine@$DIR/async_closure_shims.rs:39:53: 42:10 (#0)} { a: copy _2, b: move _3 };
13         StorageDead(_3);
15     }

thread '[mir-opt] tests/mir-opt/async_closure_shims.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/async_closure_shims.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/async_closure_shims.main-{closure#0}-{closure#0}.coroutine_closure_by_mut.0.panic-unwind.mir
---- [mir-opt] tests/mir-opt/building/custom/enums.rs stdout ----
4     let mut _0: u32;
5 
6     bb0: {
6     bb0: {
-         switchInt(_1) -> [1: bb1, 0: bb2, otherwise: bb2];
+         switchInt(copy _1) -> [1: bb1, 0: bb2, otherwise: bb2];
9 
10     bb1: {

thread '[mir-opt] tests/mir-opt/building/custom/enums.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/enums.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/enums.switch_bool.built.after.mir
---- [mir-opt] tests/mir-opt/building/custom/terminators.rs stdout ----
4     let mut _0: i32;
5 
6     bb0: {
6     bb0: {
-         _0 = ident::<i32>(_1) -> [return: bb1, unwind continue];
+         _0 = ident::<i32>(copy _1) -> [return: bb1, unwind continue];
9 
10     bb1: {

thread '[mir-opt] tests/mir-opt/building/custom/terminators.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/custom/terminators.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/custom/terminators.direct_call.built.after.mir
---- [mir-opt] tests/mir-opt/building/logical_or_in_conditional.rs stdout ----
14         StorageLive(_2);
15         StorageLive(_3);
15         StorageLive(_3);
16         _3 = Droppy(const 0_u8);
-         _2 = (_3.0: u8);
+         _2 = copy (_3.0: u8);
18         _1 = Gt(move _2, const 0_u8);
19         switchInt(move _1) -> [0: bb2, otherwise: bb1];

44         StorageLive(_5);
45         StorageLive(_6);
45         StorageLive(_6);
46         _6 = Droppy(const 1_u8);
-         _5 = (_6.0: u8);
+         _5 = copy (_6.0: u8);
48         _4 = Gt(move _5, const 1_u8);
49         switchInt(move _4) -> [0: bb7, otherwise: bb6];

thread '[mir-opt] tests/mir-opt/building/logical_or_in_conditional.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/logical_or_in_conditional.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/logical_or_in_conditional.test_or.built.after.mir
---- [mir-opt] tests/mir-opt/building/receiver_ptr_mutability.rs stdout ----
38         StorageLive(_2);
39         StorageLive(_3);
40         StorageLive(_4);
40         StorageLive(_4);
-         _4 = _1;
+         _4 = copy _1;
42         _3 = move _4 as *const Test (PointerCoercion(MutToConstPointer));
43         StorageDead(_4);
44         _2 = Test::x(move _3) -> [return: bb2, unwind: bb4];
63         StorageLive(_10);
64         StorageLive(_11);
65         StorageLive(_12);
65         StorageLive(_12);
-         _12 = (*(*(*(*_5))));
+         _12 = copy (*(*(*(*_5))));
67         _11 = move _12 as *const Test (PointerCoercion(MutToConstPointer));
68         StorageDead(_12);
69         _10 = Test::x(move _11) -> [return: bb3, unwind: bb4];
thread '[mir-opt] tests/mir-opt/building/receiver_ptr_mutability.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/receiver_ptr_mutability.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/receiver_ptr_mutability.main.built.after.mir
---- [mir-opt] tests/mir-opt/building/simple_match.rs stdout ----
6 
7     bb0: {
8         PlaceMention(_1);
8         PlaceMention(_1);
-         switchInt(_1) -> [0: bb2, otherwise: bb4];
+         switchInt(copy _1) -> [0: bb2, otherwise: bb4];
11 
12     bb1: {

thread '[mir-opt] tests/mir-opt/building/simple_match.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/simple_match.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/simple_match.match_bool.built.after.mir
---- [mir-opt] tests/mir-opt/building/match_false_edges.rs stdout ----
---- [mir-opt] tests/mir-opt/building/match_false_edges.rs stdout ----
74         FakeRead(ForMatchGuard, _4);
75         FakeRead(ForGuardBinding, _6);
76         StorageLive(_5);
-         _5 = ((_2 as Some).0: i32);
+         _5 = copy ((_2 as Some).0: i32);
78         StorageLive(_8);
-         _8 = _5;
+         _8 = copy _5;
80         _1 = (const 1_i32, move _8);
81         StorageDead(_8);
82         StorageDead(_5);
96 
97     bb12: {
98         StorageLive(_9);
98         StorageLive(_9);
-         _9 = ((_2 as Some).0: i32);
+         _9 = copy ((_2 as Some).0: i32);
100         StorageLive(_10);
-         _10 = _9;
+         _10 = copy _9;
102         _1 = (const 2_i32, move _10);
103         StorageDead(_10);
104         StorageDead(_9);
thread '[mir-opt] tests/mir-opt/building/match_false_edges.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/match_false_edges.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/match_false_edges.full_tested_match.built.after.mir
---- [mir-opt] tests/mir-opt/const_allocation.rs stdout ----
9         StorageLive(_1);
10         StorageLive(_2);
10         StorageLive(_2);
11         _2 = const {ALLOC9: &&[(Option<i32>, &[&str])]};
-         _1 = (*_2);
+         _1 = copy (*_2);
13         StorageDead(_2);
14         StorageDead(_1);
15         _0 = const ();
thread '[mir-opt] tests/mir-opt/const_allocation.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_allocation.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_allocation.main.GVN.after.64bit.mir
---- [mir-opt] tests/mir-opt/building/shifts.rs stdout ----
44         StorageLive(_6);
45         StorageLive(_7);
46         StorageLive(_8);
46         StorageLive(_8);
-         _8 = _1;
+         _8 = copy _1;
48         StorageLive(_9);
-         _9 = _3;
-         _10 = _9 as u8 (IntToInt);
+         _9 = copy _3;
+         _10 = copy _9 as u8 (IntToInt);
51         _11 = Lt(move _10, const 8_u8);
-         assert(move _11, "attempt to shift right by `{}`, which would overflow", _9) -> [success: bb1, unwind: bb7];
+         assert(move _11, "attempt to shift right by `{}`, which would overflow", copy _9) -> [success: bb1, unwind: bb7];
54 
55     bb1: {

58         StorageDead(_8);
58         StorageDead(_8);
59         StorageLive(_12);
60         StorageLive(_13);
-         _13 = _1;
+         _13 = copy _1;
62         StorageLive(_14);
-         _14 = _4;
-         _15 = _14 as u32 (IntToInt);
+         _14 = copy _4;
+         _15 = copy _14 as u32 (IntToInt);
65         _16 = Lt(move _15, const 8_u32);
-         assert(move _16, "attempt to shift right by `{}`, which would overflow", _14) -> [success: bb2, unwind: bb7];
+         assert(move _16, "attempt to shift right by `{}`, which would overflow", copy _14) -> [success: bb2, unwind: bb7];
68 
69     bb2: {

72         StorageDead(_13);
72         StorageDead(_13);
73         StorageLive(_17);
74         StorageLive(_18);
-         _18 = _1;
+         _18 = copy _1;
76         StorageLive(_19);
-         _19 = _5;
-         _20 = _19 as u128 (IntToInt);
+         _19 = copy _5;
+         _20 = copy _19 as u128 (IntToInt);
79         _21 = Lt(move _20, const 8_u128);
-         assert(move _21, "attempt to shift right by `{}`, which would overflow", _19) -> [success: bb3, unwind: bb7];
+         assert(move _21, "attempt to shift right by `{}`, which would overflow", copy _19) -> [success: bb3, unwind: bb7];
82 
83     bb3: {

91         StorageLive(_22);
91         StorageLive(_22);
92         StorageLive(_23);
93         StorageLive(_24);
-         _24 = _2;
+         _24 = copy _2;
95         StorageLive(_25);
-         _25 = _3;
-         _26 = _25 as u8 (IntToInt);
+         _25 = copy _3;
+         _26 = copy _25 as u8 (IntToInt);
98         _27 = Lt(move _26, const 128_u8);
-         assert(move _27, "attempt to shift left by `{}`, which would overflow", _25) -> [success: bb4, unwind: bb7];
+         assert(move _27, "attempt to shift left by `{}`, which would overflow", copy _25) -> [success: bb4, unwind: bb7];
101 
102     bb4: {

105         StorageDead(_24);
105         StorageDead(_24);
106         StorageLive(_28);
107         StorageLive(_29);
-         _29 = _2;
+         _29 = copy _2;
109         StorageLive(_30);
-         _30 = _4;
-         _31 = _30 as u32 (IntToInt);
+         _30 = copy _4;
+         _31 = copy _30 as u32 (IntToInt);
112         _32 = Lt(move _31, const 128_u32);
-         assert(move _32, "attempt to shift left by `{}`, which would overflow", _30) -> [success: bb5, unwind: bb7];
+         assert(move _32, "attempt to shift left by `{}`, which would overflow", copy _30) -> [success: bb5, unwind: bb7];
115 
116     bb5: {

119         StorageDead(_29);
119         StorageDead(_29);
120         StorageLive(_33);
121         StorageLive(_34);
-         _34 = _2;
+         _34 = copy _2;
123         StorageLive(_35);
-         _35 = _5;
-         _36 = _35 as u128 (IntToInt);
+         _35 = copy _5;
+         _36 = copy _35 as u128 (IntToInt);
126         _37 = Lt(move _36, const 128_u128);
-         assert(move _37, "attempt to shift left by `{}`, which would overflow", _35) -> [success: bb6, unwind: bb7];
+         assert(move _37, "attempt to shift left by `{}`, which would overflow", copy _35) -> [success: bb6, unwind: bb7];
129 
130     bb6: {

thread '[mir-opt] tests/mir-opt/building/shifts.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/shifts.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/shifts.shift_signed.built.after.mir
---- [mir-opt] tests/mir-opt/const_allocation2.rs stdout ----
9         StorageLive(_1);
10         StorageLive(_2);
10         StorageLive(_2);
11         _2 = const {ALLOC9: &&[(Option<i32>, &[&u8])]};
-         _1 = (*_2);
+         _1 = copy (*_2);
13         StorageDead(_2);
14         StorageDead(_1);
15         _0 = const ();
thread '[mir-opt] tests/mir-opt/const_allocation2.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_allocation2.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_allocation2.main.GVN.after.64bit.mir
---- [mir-opt] tests/mir-opt/const_goto_const_eval_fail.rs stdout ----
22       }
23   
24       bb3: {
24       bb3: {
-           switchInt(_1) -> [0: bb5, otherwise: bb4];
+           switchInt(copy _1) -> [0: bb5, otherwise: bb4];
27   
28       bb4: {

thread '[mir-opt] tests/mir-opt/const_goto_const_eval_fail.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_goto_const_eval_fail.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_goto_const_eval_fail.f.JumpThreading.diff
---- [mir-opt] tests/mir-opt/const_allocation3.rs stdout ----
9         StorageLive(_1);
10         StorageLive(_2);
10         StorageLive(_2);
11         _2 = const {ALLOC2: &&Packed};
-         _1 = (*_2);
+         _1 = copy (*_2);
13         StorageDead(_2);
14         StorageDead(_1);
15         _0 = const ();
thread '[mir-opt] tests/mir-opt/const_allocation3.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_allocation3.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_allocation3.main.GVN.after.64bit.mir
---- [mir-opt] tests/mir-opt/building/while_storage.rs stdout ----
20     bb1: {
21         StorageLive(_3);
22         StorageLive(_2);
22         StorageLive(_2);
-         _2 = _1;
+         _2 = copy _1;
24         _3 = get_bool(move _2) -> [return: bb2, unwind continue];
26 

40         StorageDead(_2);
41         StorageLive(_5);
41         StorageLive(_5);
42         StorageLive(_4);
-         _4 = _1;
+         _4 = copy _1;
44         _5 = get_bool(move _4) -> [return: bb5, unwind continue];
46 

thread '[mir-opt] tests/mir-opt/building/while_storage.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/building/while_storage.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/building/while_storage.while_loop.PreCodegen.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/const_prop/address_of_pair.rs stdout ----
36 -         StorageLive(_5);
37 +         nop;
38           StorageLive(_6);
38           StorageLive(_6);
-           _6 = (_2.1: bool);
+           _6 = copy (_2.1: bool);
40           _5 = Not(move _6);
41           StorageDead(_6);
-           _0 = _5;
+           _0 = copy _5;
43 -         StorageDead(_5);
44 +         nop;
45           StorageDead(_3);
thread '[mir-opt] tests/mir-opt/const_prop/address_of_pair.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_prop/address_of_pair.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_prop/address_of_pair.fn0.GVN.diff
---- [mir-opt] tests/mir-opt/const_prop/aggregate.rs stdout ----
18           StorageLive(_2);
19           StorageLive(_3);
19           StorageLive(_3);
20           _3 = (const 0_i32, const 1_u8, const 2_i32);
- -         _2 = (_3.1: u8);
+ -         _2 = copy (_3.1: u8);
22 -         _1 = Add(move _2, const 0_u8);
23 +         _2 = const 1_u8;
24 +         _1 = const 1_u8;
26           StorageDead(_3);
27           StorageLive(_4);
28           StorageLive(_5);
- -         _5 = _1;
- -         _5 = _1;
+ -         _5 = copy _1;
30 -         _4 = foo(move _5) -> [return: bb1, unwind continue];
31 +         _5 = const 1_u8;
32 +         _4 = foo(const 1_u8) -> [return: bb1, unwind continue];
thread '[mir-opt] tests/mir-opt/const_prop/aggregate.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_prop/aggregate.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_prop/aggregate.main.GVN.panic-unwind.diff
---- [mir-opt] tests/mir-opt/const_prop/array_index.rs stdout ----
19           StorageLive(_3);
20           _3 = const 2_usize;
20           _3 = const 2_usize;
21 -         _4 = Len(_2);
- -         _5 = Lt(_3, _4);
- -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind continue];
+ -         _5 = Lt(copy _3, copy _4);
+ -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind continue];
24 +         _4 = const 4_usize;
25 +         _5 = const true;
26 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> [success: bb1, unwind continue];
27       }
28   
29       bb1: {
29       bb1: {
- -         _1 = _2[_3];
+ -         _1 = copy _2[_3];
31 +         _1 = const 2_u32;
32           StorageDead(_3);
33           StorageDead(_2);
thread '[mir-opt] tests/mir-opt/const_prop/array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_prop/array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_prop/array_index.main.GVN.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/const_prop/bad_op_div_by_zero.rs stdout ----
23           _1 = const 0_i32;
24           StorageLive(_2);
25           StorageLive(_3);
25           StorageLive(_3);
- -         _3 = _1;
- -         _4 = Eq(_3, const 0_i32);
+ -         _3 = copy _1;
+ -         _4 = Eq(copy _3, const 0_i32);
28 -         assert(!move _4, "attempt to divide `{}` by zero", const 1_i32) -> [success: bb1, unwind continue];
29 +         _3 = const 0_i32;
30 +         _4 = const true;
32       }
33   
34       bb1: {
34       bb1: {
- -         _5 = Eq(_3, const -1_i32);
+ -         _5 = Eq(copy _3, const -1_i32);
36 -         _6 = Eq(const 1_i32, const i32::MIN);
37 -         _7 = BitAnd(move _5, move _6);
- -         assert(!move _7, "attempt to compute `{} / {}`, which would overflow", const 1_i32, _3) -> [success: bb2, unwind continue];
+ -         assert(!move _7, "attempt to compute `{} / {}`, which would overflow", const 1_i32, copy _3) -> [success: bb2, unwind continue];
39 +         _5 = const false;
40 +         _6 = const false;
41 +         _7 = const false;
thread '[mir-opt] tests/mir-opt/const_prop/bad_op_div_by_zero.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_prop/bad_op_div_by_zero.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/const_prop/bad_op_div_by_zero.main.GVN.panic-unwind.diff
---- [mir-opt] tests/mir-opt/const_prop/boolean_identities.rs stdout ----
22 -         StorageLive(_3);
23 +         nop;
24           StorageLive(_4);
24           StorageLive(_4);
-           _4 = _2;
+           _4 = copy _2;
26 -         _3 = BitOr(move _4, const true);
27 +         _3 = const true;
28           StorageDead(_4);
29 -         StorageLive(_5);
30 +         nop;
31           StorageLive(_6);
-           _6 = _1;
-           _6 = _1;
+           _6 = copy _1;
33 -         _5 = BitAnd(move _6, const false);
34 +         _5 = const false;
35           StorageDead(_6);
36           StorageLive(_7);
- -         _7 = _3;
+ -         _7 = copy _3;
38 +         _7 = const true;
38 +         _7 = const true;
39           StorageLive(_8);
- -         _8 = _5;
+ -         _8 = copy _5;
41 -         _0 = BitAnd(move _7, move _8);
42 +         _8 = const false;
43 +         _0 = const false;
thread '[mir-opt] tests/mir-opt/const_prop/boolean_identities.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/const_prop/boolean_identities.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
---
51           StorageDead(_2);
52           StorageDead(_1);
53           return;

thread '[mir-opt] tests/mir-opt/copy-prop/branch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/branch.foo.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/borrowed_local.rs stdout ----
11       bb0: {
12           _1 = const 5_u8;
13           _2 = &_1;
13           _2 = &_1;
-           _3 = _1;
+           _3 = copy _1;
15           _4 = &_3;
-           _0 = cmp_ref(_2, _4) -> [return: bb1, unwind continue];
+           _0 = cmp_ref(copy _2, copy _4) -> [return: bb1, unwind continue];
18   
19       bb1: {


-           _0 = opaque::<u8>(_3) -> [return: bb2, unwind continue];
+           _0 = opaque::<u8>(copy _3) -> [return: bb2, unwind continue];
22   
23       bb2: {

thread '[mir-opt] tests/mir-opt/copy-prop/borrowed_local.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/borrowed_local.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/borrowed_local.f.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/copy_propagation_arg.rs stdout ----
10       bb0: {
11           StorageLive(_2);
12           StorageLive(_3);
12           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
14           _2 = dummy(move _3) -> [return: bb1, unwind continue];
16   

thread '[mir-opt] tests/mir-opt/copy-prop/copy_propagation_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/copy_propagation_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/copy_propagation_arg.foo.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/cycle.rs stdout ----
27   
28       bb1: {
29 -         StorageLive(_2);
29 -         StorageLive(_2);
-           _2 = _1;
+           _2 = copy _1;
31 -         StorageLive(_3);
- -         _3 = _2;
+ -         _3 = copy _2;
33 -         StorageLive(_4);
- -         _4 = _3;
+ -         _4 = copy _3;
35 -         _1 = move _4;
36 -         StorageDead(_4);
- +         _1 = _2;
+ +         _1 = copy _2;
38           StorageLive(_5);
39           StorageLive(_6);
-           _6 = _1;
+           _6 = copy _1;
41           _5 = std::mem::drop::<i32>(move _6) -> [return: bb2, unwind continue];
43   

thread '[mir-opt] tests/mir-opt/copy-prop/cycle.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/cycle.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/cycle.main.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/calls.rs stdout ----
16       }
17   
18       bb1: {
18       bb1: {
- -         _0 = _1;
+ -         _0 = copy _1;
20 -         StorageDead(_1);
21           return;
22       }

thread '[mir-opt] tests/mir-opt/copy-prop/calls.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/calls.nrvo.CopyProp.diff
---- [mir-opt] tests/mir-opt/copy-prop/custom_move_arg.rs stdout ----
---- [mir-opt] tests/mir-opt/copy-prop/custom_move_arg.rs stdout ----
7       let mut _3: NotCopy;
9       bb0: {
- -         _2 = _1;
+ -         _2 = copy _1;
+ -         _2 = copy _1;
11 -         _0 = opaque::<NotCopy>(move _1) -> [return: bb1, unwind unreachable];
- +         _0 = opaque::<NotCopy>(_1) -> [return: bb1, unwind unreachable];
+ +         _0 = opaque::<NotCopy>(copy _1) -> [return: bb1, unwind unreachable];
14   
15       bb1: {

16 -         _3 = move _2;
16 -         _3 = move _2;
- -         _0 = opaque::<NotCopy>(_3) -> [return: bb2, unwind unreachable];
- +         _0 = opaque::<NotCopy>(_1) -> [return: bb2, unwind unreachable];
+ -         _0 = opaque::<NotCopy>(copy _3) -> [return: bb2, unwind unreachable];
+ +         _0 = opaque::<NotCopy>(copy _1) -> [return: bb2, unwind unreachable];
20   
21       bb2: {

thread '[mir-opt] tests/mir-opt/copy-prop/custom_move_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/custom_move_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/custom_move_arg.f.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/dead_stores_79191.rs stdout ----
11     }
12 
13     bb0: {
13     bb0: {
-         _2 = _1;
+         _2 = copy _1;
15         _1 = const 5_usize;
-         _1 = _2;
+         _1 = copy _2;
17         StorageLive(_4);
-         _4 = _1;
+         _4 = copy _1;
19         _0 = id::<usize>(move _4) -> [return: bb1, unwind continue];
21 

thread '[mir-opt] tests/mir-opt/copy-prop/dead_stores_79191.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/dead_stores_79191.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/dead_stores_79191.f.CopyProp.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/copy-prop/dead_stores_better.rs stdout ----
11     }
12 
13     bb0: {
13     bb0: {
-         _2 = _1;
+         _2 = copy _1;
15         _1 = const 5_usize;
-         _1 = _2;
+         _1 = copy _2;
17         StorageLive(_4);
-         _4 = _1;
+         _4 = copy _1;
19         _0 = id::<usize>(move _4) -> [return: bb1, unwind continue];
21 

thread '[mir-opt] tests/mir-opt/copy-prop/dead_stores_better.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/dead_stores_better.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/dead_stores_better.f.CopyProp.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/copy-prop/issue_107511.rs stdout ----
88   
89       bb6: {
90 -         StorageLive(_16);
90 -         StorageLive(_16);
-           _16 = ((_11 as Some).0: usize);
+           _16 = copy ((_11 as Some).0: usize);
92           StorageLive(_17);
93 -         StorageLive(_18);
- -         _18 = _16;
+ -         _18 = copy _16;
95           _19 = Len(_2);
- -         _20 = Lt(_18, _19);
- -         assert(move _20, "index out of bounds: the length is {} but the index is {}", move _19, _18) -> [success: bb8, unwind continue];
- +         _20 = Lt(_16, _19);
- +         assert(move _20, "index out of bounds: the length is {} but the index is {}", move _19, _16) -> [success: bb8, unwind continue];
+ -         _20 = Lt(copy _18, copy _19);
+ -         assert(move _20, "index out of bounds: the length is {} but the index is {}", move _19, copy _18) -> [success: bb8, unwind continue];
+ +         _20 = Lt(copy _16, copy _19);
+ +         assert(move _20, "index out of bounds: the length is {} but the index is {}", move _19, copy _16) -> [success: bb8, unwind continue];
101   
102       bb7: {

112       }
112       }
113   
114       bb8: {
- -         _17 = _2[_18];
- +         _17 = _2[_16];
-           _1 = Add(_1, move _17);
+ -         _17 = copy _2[_18];
+ +         _17 = copy _2[_16];
+           _1 = Add(copy _1, move _17);
118           StorageDead(_17);
119 -         StorageDead(_18);
120 -         _10 = const ();
thread '[mir-opt] tests/mir-opt/copy-prop/issue_107511.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/issue_107511.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/issue_107511.main.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/move_arg.rs stdout ----
15   
16       bb0: {
17 -         StorageLive(_2);
17 -         StorageLive(_2);
- -         _2 = _1;
+ -         _2 = copy _1;
19           StorageLive(_3);
20 -         StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
22 -         StorageLive(_5);
- -         _5 = _2;
+ -         _5 = copy _2;
24 -         _3 = g::<T>(move _4, move _5) -> [return: bb1, unwind continue];
- +         _3 = g::<T>(_1, _1) -> [return: bb1, unwind continue];
+ +         _3 = g::<T>(copy _1, copy _1) -> [return: bb1, unwind continue];
27   
28       bb1: {

thread '[mir-opt] tests/mir-opt/copy-prop/move_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/move_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/move_arg.f.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/mutate_through_pointer.rs stdout ----
8       let mut _4: *mut bool;
9   
10       bb0: {
10       bb0: {
-           _2 = _1;
+           _2 = copy _1;
12           _3 = &raw const _2;
13           _4 = &raw mut (*_3);
14           (*_4) = const false;
-           _0 = _1;
+           _0 = copy _1;
16           return;
17       }
17       }
18   }

thread '[mir-opt] tests/mir-opt/copy-prop/mutate_through_pointer.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/mutate_through_pointer.f.CopyProp.diff
---- [mir-opt] tests/mir-opt/copy-prop/non_dominate.rs stdout ----
11       }
12   
13       bb1: {
13       bb1: {
-           _3 = _1;
-           switchInt(_3) -> [0: bb3, otherwise: bb2];
+           _3 = copy _1;
+           switchInt(copy _3) -> [0: bb3, otherwise: bb2];
17   
18       bb2: {

-           _2 = _3;
---
26           return;
27       }
28   }

thread '[mir-opt] tests/mir-opt/copy-prop/non_dominate.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/non_dominate.f.CopyProp.diff
---- [mir-opt] tests/mir-opt/copy-prop/move_projection.rs stdout ----
7       let mut _3: u8;
8   
9       bb0: {
9       bb0: {
- -         _2 = _1;
+ -         _2 = copy _1;
11 -         _3 = move (_2.0: u8);
12 -         _0 = opaque::<Foo>(move _1) -> [return: bb1, unwind unreachable];
- +         _3 = (_1.0: u8);
- +         _0 = opaque::<Foo>(_1) -> [return: bb1, unwind unreachable];
+ +         _3 = copy (_1.0: u8);
+ +         _0 = opaque::<Foo>(copy _1) -> [return: bb1, unwind unreachable];
16   
17       bb1: {

thread '[mir-opt] tests/mir-opt/copy-prop/move_projection.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/move_projection.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/move_projection.f.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/copy-prop/reborrow.rs stdout ----
28           StorageLive(_3);
28           StorageLive(_3);
29           _3 = &raw mut (*_2);
30 -         StorageLive(_4);
- -         _4 = _2;
+ -         _4 = copy _2;
32           StorageLive(_5);
33 -         StorageLive(_6);
- -         _6 = _4;
+ -         _6 = copy _4;
35 -         _5 = opaque::<*mut u8>(move _6) -> [return: bb1, unwind continue];
- +         _5 = opaque::<*mut u8>(_2) -> [return: bb1, unwind continue];
+ +         _5 = opaque::<*mut u8>(copy _2) -> [return: bb1, unwind continue];
38   
39       bb1: {

thread '[mir-opt] tests/mir-opt/copy-prop/reborrow.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/copy-prop/reborrow.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/copy-prop/reborrow.miraw.CopyProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/boolean_identities.rs stdout ----
13       bb0: {
14           StorageLive(_3);
15           StorageLive(_4);
15           StorageLive(_4);
-           _4 = _2;
+           _4 = copy _2;
17 -         _3 = BitOr(move _4, const true);
18 +         _3 = const true;
19           StorageDead(_4);
20           StorageLive(_5);
21           StorageLive(_6);
-           _6 = _1;
+           _6 = copy _1;
+           _6 = copy _1;
23 -         _5 = BitAnd(move _6, const false);
24 +         _5 = const false;
25           StorageDead(_6);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/boolean_identities.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/boolean_identities.test.DataflowConstProp.diff

---- [mir-opt] tests/mir-opt/dataflow-const-prop/array_index.rs stdout ----
---- [mir-opt] tests/mir-opt/dataflow-const-prop/array_index.rs stdout ----
19           StorageLive(_3);
20           _3 = const 2_usize;
21 -         _4 = Len(_2);
- -         _5 = Lt(_3, _4);
- -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind continue];
+ -         _5 = Lt(copy _3, copy _4);
+ -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind continue];
24 +         _4 = const 4_usize;
25 +         _5 = const true;
26 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 4_usize, const 2_usize) -> [success: bb1, unwind continue];
27       }
28   
29       bb1: {
29       bb1: {
- -         _1 = _2[_3];
- +         _1 = _2[2 of 3];
+ -         _1 = copy _2[_3];
+ +         _1 = copy _2[2 of 3];
32           StorageDead(_3);
33           StorageDead(_2);
34           _0 = const ();
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/array_index.main.DataflowConstProp.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/cast.rs stdout ----
20           StorageLive(_2);
21           StorageLive(_3);
22           StorageLive(_4);
22           StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
24 -         _3 = move _4 as u8 (IntToInt);
25 +         _4 = const 257_i32;
26 +         _3 = const 1_u8;
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/cast.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/cast.main.DataflowConstProp.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/checked.rs stdout ----
36           _2 = const 2_i32;
37           StorageLive(_3);
38           StorageLive(_4);
38           StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
40 +         _4 = const 1_i32;
41           StorageLive(_5);
- -         _5 = _2;
- -         _6 = CheckedAdd(_4, _5);
+ -         _5 = copy _2;
+ -         _6 = CheckedAdd(copy _4, copy _5);
44 -         assert(!move (_6.1: bool), "attempt to compute `{} + {}`, which would overflow", move _4, move _5) -> [success: bb1, unwind continue];
45 +         _5 = const 2_i32;
46 +         _6 = const (3_i32, false);

56           _7 = const core::num::<impl i32>::MAX;
57           StorageLive(_8);
58           StorageLive(_9);
- -         _9 = _7;
- -         _10 = CheckedAdd(_9, const 1_i32);
+ -         _9 = copy _7;
+ -         _10 = CheckedAdd(copy _9, const 1_i32);
61 -         assert(!move (_10.1: bool), "attempt to compute `{} + {}`, which would overflow", move _9, const 1_i32) -> [success: bb2, unwind continue];
62 +         _9 = const i32::MAX;
63 +         _10 = const (i32::MIN, true);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/checked.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/checked.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/checked.main.DataflowConstProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/inherit_overflow.rs stdout ----
21           StorageLive(_3);
22           _3 = const 1_u8;
23           StorageLive(_4);
23           StorageLive(_4);
- -         _4 = CheckedAdd(_2, _3);
- -         assert(!move (_4.1: bool), "attempt to compute `{} + {}`, which would overflow", _2, _3) -> [success: bb1, unwind continue];
+ -         _4 = CheckedAdd(copy _2, copy _3);
+ -         assert(!move (_4.1: bool), "attempt to compute `{} + {}`, which would overflow", copy _2, copy _3) -> [success: bb1, unwind continue];
26 +         _4 = const (0_u8, true);
27 +         assert(!const true, "attempt to compute `{} + {}`, which would overflow", const u8::MAX, const 1_u8) -> [success: bb1, unwind continue];

thread '[mir-opt] tests/mir-opt/dataflow-const-prop/inherit_overflow.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/inherit_overflow.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/inherit_overflow.main.DataflowConstProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/large_array_index.rs stdout ----
19           StorageLive(_3);
20           _3 = const 2_usize;
20           _3 = const 2_usize;
21 -         _4 = Len(_2);
- -         _5 = Lt(_3, _4);
- -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind continue];
+ -         _5 = Lt(copy _3, copy _4);
+ -         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind continue];
24 +         _4 = const 5000_usize;
25 +         _5 = const true;
26 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 5000_usize, const 2_usize) -> [success: bb1, unwind continue];
27       }
28   
29       bb1: {
29       bb1: {
- -         _1 = _2[_3];
- +         _1 = _2[2 of 3];
+ -         _1 = copy _2[_3];
+ +         _1 = copy _2[2 of 3];
32           StorageDead(_3);
33           StorageDead(_2);
34           _0 = const ();
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/large_array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/large_array_index.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/large_array_index.main.DataflowConstProp.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/if.rs stdout ----
37           StorageLive(_2);
38           StorageLive(_3);
39           StorageLive(_4);
39           StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
41 -         _3 = Eq(move _4, const 1_i32);
42 -         switchInt(move _3) -> [0: bb2, otherwise: bb1];
43 +         _4 = const 1_i32;
61           StorageDead(_3);
62           StorageLive(_5);
63           StorageLive(_6);
- -         _6 = _2;
- -         _6 = _2;
+ -         _6 = copy _2;
65 -         _5 = Add(move _6, const 1_i32);
66 +         _6 = const 2_i32;
67 +         _5 = const 3_i32;
69           StorageLive(_7);
70           StorageLive(_8);
71           StorageLive(_9);
- -         _9 = _1;
- -         _9 = _1;
+ -         _9 = copy _1;
73 -         _8 = Eq(move _9, const 1_i32);
74 -         switchInt(move _8) -> [0: bb5, otherwise: bb4];
75 +         _9 = const 1_i32;
79   
80       bb4: {
81           StorageDead(_9);
- -         _7 = _1;
- -         _7 = _1;
+ -         _7 = copy _1;
83 +         _7 = const 1_i32;
84           goto -> bb6;
85       }

87       bb5: {
88           StorageDead(_9);
89           StorageLive(_10);
-           _10 = _1;
+           _10 = copy _1;
91           _7 = Add(move _10, const 1_i32);
92           StorageDead(_10);
93           goto -> bb6;
97           StorageDead(_8);
98           StorageLive(_11);
99           StorageLive(_12);
- -         _12 = _7;
- -         _12 = _7;
+ -         _12 = copy _7;
101 -         _11 = Add(move _12, const 1_i32);
102 +         _12 = const 1_i32;
103 +         _11 = const 2_i32;
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/if.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/if.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/if.main.DataflowConstProp.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/mult_by_zero.rs stdout ----
8   
9       bb0: {
10           StorageLive(_2);
10           StorageLive(_2);
-           _2 = _1;
+           _2 = copy _1;
12 -         _0 = Mul(move _2, const 0_i32);
13 +         _0 = const 0_i32;
14           StorageDead(_2);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/mult_by_zero.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/mult_by_zero.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/mult_by_zero.test.DataflowConstProp.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/self_assign.rs stdout ----
20           StorageLive(_1);
21           _1 = const 0_i32;
22           StorageLive(_2);
22           StorageLive(_2);
-           _2 = _1;
+           _2 = copy _1;
24           _1 = Add(move _2, const 1_i32);
25           StorageDead(_2);
26           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
28           _1 = move _3;
29           StorageDead(_3);
---
34           _4 = move _5;
35           StorageDead(_5);
36           StorageLive(_6);

-           _6 = (*_4);
+           _6 = copy (*_4);
38           _1 = move _6;
39           StorageDead(_6);
40           _0 = const ();
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/self_assign.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/self_assign.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/self_assign.main.DataflowConstProp.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/enum.rs stdout ----
38   
39       bb2: {
40           StorageLive(_5);
40           StorageLive(_5);
-           _5 = ((_1 as V2).0: i32);
-           _2 = _5;
+           _5 = copy ((_1 as V2).0: i32);
+           _2 = copy _5;
43           StorageDead(_5);
44           goto -> bb4;

46   
47       bb3: {
48           StorageLive(_4);
48           StorageLive(_4);
- -         _4 = ((_1 as V1).0: i32);
- -         _2 = _4;
+ -         _4 = copy ((_1 as V1).0: i32);
+ -         _2 = copy _4;
51 +         _4 = const 0_i32;
52 +         _2 = const 0_i32;
53           StorageDead(_4);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/enum.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/enum.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/enum.simple.DataflowConstProp.64bit.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/slice_len.rs stdout ----
30           StorageLive(_3);
31           StorageLive(_4);
32           _14 = const main::promoted[0];
32           _14 = const main::promoted[0];
-           _4 = _14;
-           _3 = _4;
+           _4 = copy _14;
+           _3 = copy _4;
35           _2 = move _3 as &[u32] (PointerCoercion(Unsize));
36           StorageDead(_3);
37           StorageLive(_6);
38           _6 = const 1_usize;
38           _6 = const 1_usize;
39 -         _7 = Len((*_2));
- -         _8 = Lt(_6, _7);
- -         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb1, unwind continue];
+ -         _8 = Lt(copy _6, copy _7);
+ -         assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, copy _6) -> [success: bb1, unwind continue];
42 +         _7 = const 3_usize;
43 +         _8 = const true;
44 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> [success: bb1, unwind continue];
45       }
46   
47       bb1: {
47       bb1: {
- -         _1 = (*_2)[_6];
- +         _1 = (*_2)[1 of 2];
+ -         _1 = copy (*_2)[_6];
+ +         _1 = copy (*_2)[1 of 2];
50           StorageDead(_6);
51           StorageDead(_4);
52           StorageDead(_2);
56           StorageLive(_11);
57           _11 = const 1_usize;
57           _11 = const 1_usize;
58 -         _12 = Len((*_10));
- -         _13 = Lt(_11, _12);
- -         assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, _11) -> [success: bb2, unwind continue];
+ -         _13 = Lt(copy _11, copy _12);
+ -         assert(move _13, "index out of bounds: the length is {} but the index is {}", move _12, copy _11) -> [success: bb2, unwind continue];
61 +         _12 = const 3_usize;
62 +         _13 = const true;
63 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 3_usize, const 1_usize) -> [success: bb2, unwind continue];
64       }
65   
66       bb2: {
66       bb2: {
- -         _9 = (*_10)[_11];
- +         _9 = (*_10)[1 of 2];
+ -         _9 = copy (*_10)[_11];
+ +         _9 = copy (*_10)[1 of 2];
69           StorageDead(_11);
70           StorageDead(_10);
71           _0 = const ();
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/slice_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/slice_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/slice_len.main.DataflowConstProp.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/sibling_ptr.rs stdout ----
---- [mir-opt] tests/mir-opt/dataflow-const-prop/sibling_ptr.rs stdout ----
29           _3 = &raw mut (_1.0: u8);
30           StorageLive(_4);
31           StorageLive(_5);
-           _5 = _3;
+           _5 = copy _3;
33           _4 = std::ptr::mut_ptr::<impl *mut u8>::add(move _5, const 1_usize) -> [return: bb1, unwind continue];
35   

41           StorageDead(_3);
42           StorageDead(_2);
42           StorageDead(_2);
43           StorageLive(_6);
-           _6 = (_1.1: u8);
+           _6 = copy (_1.1: u8);
45           _0 = const ();
46           StorageDead(_6);
47           StorageDead(_1);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/sibling_ptr.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/sibling_ptr.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/sibling_ptr.main.DataflowConstProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/self_assign_add.rs stdout ----
11       bb0: {
12           StorageLive(_1);
13           _1 = const 0_i32;
13           _1 = const 0_i32;
- -         _1 = Add(_1, const 1_i32);
- -         _1 = Add(_1, const 1_i32);
+ -         _1 = Add(copy _1, const 1_i32);
+ -         _1 = Add(copy _1, const 1_i32);
16 +         _1 = const 1_i32;
17 +         _1 = const 2_i32;
18           _0 = const ();
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/self_assign_add.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/self_assign_add.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/self_assign_add.main.DataflowConstProp.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/ref_without_sb.rs stdout ----
39       bb2: {
40           StorageDead(_5);
41           StorageLive(_6);
41           StorageLive(_6);
-           _6 = _1;
+           _6 = copy _1;
43           _0 = const ();
44           StorageDead(_6);
45           StorageDead(_1);

thread '[mir-opt] tests/mir-opt/dataflow-const-prop/ref_without_sb.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/ref_without_sb.main.DataflowConstProp.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/repeat.rs stdout ----
21           StorageLive(_4);
22           _4 = const 2_usize;
22           _4 = const 2_usize;
23 -         _5 = Len(_3);
- -         _6 = Lt(_4, _5);
- -         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, _4) -> [success: bb1, unwind continue];
+ -         _6 = Lt(copy _4, copy _5);
+ -         assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, copy _4) -> [success: bb1, unwind continue];
26 +         _5 = const 8_usize;
27 +         _6 = const true;
28 +         assert(const true, "index out of bounds: the length is {} but the index is {}", const 8_usize, const 2_usize) -> [success: bb1, unwind continue];
29       }
30   
31       bb1: {
31       bb1: {
- -         _2 = _3[_4];
- +         _2 = _3[2 of 3];
+ -         _2 = copy _3[_4];
+ +         _2 = copy _3[2 of 3];
34           _1 = Add(move _2, const 0_u32);
35           StorageDead(_2);
36           StorageDead(_4);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/repeat.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/repeat.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/repeat.main.DataflowConstProp.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/repr_transparent.rs stdout ----
22           StorageLive(_2);
23           StorageLive(_3);
24           StorageLive(_4);
24           StorageLive(_4);
- -         _4 = (_1.0: i32);
+ -         _4 = copy (_1.0: i32);
26 +         _4 = const 0_i32;
27           StorageLive(_5);
- -         _5 = (_1.0: i32);
+ -         _5 = copy (_1.0: i32);
29 -         _3 = Add(move _4, move _5);
30 +         _5 = const 0_i32;
31 +         _3 = const 0_i32;
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/repr_transparent.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/repr_transparent.main.DataflowConstProp.diff

---- [mir-opt] tests/mir-opt/dataflow-const-prop/tuple.rs stdout ----
---- [mir-opt] tests/mir-opt/dataflow-const-prop/tuple.rs stdout ----
37           StorageLive(_2);
38           StorageLive(_3);
39           StorageLive(_4);
- -         _4 = (_1.0: i32);
+ -         _4 = copy (_1.0: i32);
41 +         _4 = const 1_i32;
42           StorageLive(_5);
- -         _5 = (_1.1: i32);
+ -         _5 = copy (_1.1: i32);
44 -         _3 = Add(move _4, move _5);
45 +         _5 = const 2_i32;
46 +         _3 = const 3_i32;
54           StorageLive(_6);
55           StorageLive(_7);
56           StorageLive(_8);
56           StorageLive(_8);
- -         _8 = (_1.0: i32);
+ -         _8 = copy (_1.0: i32);
58 +         _8 = const 2_i32;
59           StorageLive(_9);
- -         _9 = (_1.1: i32);
+ -         _9 = copy (_1.1: i32);
61 -         _7 = Add(move _8, move _9);
62 +         _9 = const 3_i32;
63 +         _7 = const 5_i32;
64           StorageDead(_9);
65           StorageDead(_8);
66           StorageLive(_10);
- -         _10 = _2;
- -         _10 = _2;
+ -         _10 = copy _2;
68 -         _6 = Add(move _7, move _10);
69 +         _10 = const 6_i32;
70 +         _6 = const 11_i32;
72           StorageDead(_7);
73           StorageLive(_11);
74           StorageLive(_12);
- -         _12 = _2;
- -         _12 = _2;
+ -         _12 = copy _2;
76 +         _12 = const 6_i32;
77           StorageLive(_13);
- -         _13 = _1;
+ -         _13 = copy _1;
79 +         _13 = const (2_i32, 3_i32);
80           StorageLive(_14);
- -         _14 = _6;
+ -         _14 = copy _6;
82 -         _11 = (move _12, move _13, move _14);
83 +         _14 = const 11_i32;
84 +         _11 = (const 6_i32, const (2_i32, 3_i32), const 11_i32);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/tuple.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/tuple.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/tuple.main.DataflowConstProp.64bit.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/struct.rs stdout ----
83 +         _1 = const S(1_i32);
84           StorageLive(_2);
85           StorageLive(_3);
85           StorageLive(_3);
- -         _3 = (_1.0: i32);
+ -         _3 = copy (_1.0: i32);
87 -         _2 = Add(move _3, const 2_i32);
88 +         _3 = const 1_i32;
89 +         _2 = const 3_i32;

91           (_1.0: i32) = const 3_i32;
92           StorageLive(_4);
93           StorageLive(_5);
- -         _5 = _2;
+ -         _5 = copy _2;
95 +         _5 = const 3_i32;
96           StorageLive(_6);
- -         _6 = (_1.0: i32);
+ -         _6 = copy (_1.0: i32);
98 -         _4 = Add(move _5, move _6);
99 +         _6 = const 3_i32;
100 +         _4 = const 6_i32;
103           StorageLive(_10);
104           _10 = const main::SMALL_VAL;
105           StorageLive(_7);
105           StorageLive(_7);
- -         _7 = (_10.0: f32);
+ -         _7 = copy (_10.0: f32);
107 +         _7 = const 4f32;
108           StorageLive(_8);
- -         _8 = (_10.1: std::option::Option<S>);
+ -         _8 = copy (_10.1: std::option::Option<S>);
110 +         _8 = const Option::<S>::Some(S(1_i32));
111           StorageLive(_9);
-           _9 = (_10.2: &[f32]);
+           _9 = copy (_10.2: &[f32]);
113           StorageDead(_10);
114           StorageLive(_14);
115           _14 = const {ALLOC4: &&SmallStruct};

116           _31 = deref_copy (*_14);
117           StorageLive(_11);
118           _32 = deref_copy (*_14);
- -         _11 = ((*_32).0: f32);
+ -         _11 = copy ((*_32).0: f32);
120 +         _11 = const 9f32;
121           StorageLive(_12);
122           _33 = deref_copy (*_14);

-           _12 = ((*_33).1: std::option::Option<S>);
+           _12 = copy ((*_33).1: std::option::Option<S>);
124           StorageLive(_13);
125           _34 = deref_copy (*_14);
-           _13 = ((*_34).2: &[f32]);
+           _13 = copy ((*_34).2: &[f32]);
127           StorageDead(_14);
128           StorageLive(_15);
129           StorageLive(_16);
- -         _16 = _11;
+ -         _16 = copy _11;
131 +         _16 = const 9f32;
132           StorageLive(_17);
132           StorageLive(_17);
-           _17 = _12;
+           _17 = copy _12;
134           StorageLive(_18);
-           _18 = _13;
+           _18 = copy _13;
136 -         _15 = SmallStruct(move _16, move _17, move _18);
137 +         _15 = SmallStruct(const 9f32, move _17, move _18);
138           StorageDead(_18);
141           StorageLive(_22);
142           _22 = const main::BIG_VAL;
143           StorageLive(_19);
143           StorageLive(_19);
- -         _19 = (_22.0: f32);
+ -         _19 = copy (_22.0: f32);
145 +         _19 = const 25f32;
146           StorageLive(_20);
-           _20 = (_22.1: std::option::Option<S>);
+           _20 = copy (_22.1: std::option::Option<S>);
148           StorageLive(_21);
-           _21 = (_22.2: &[f32]);
+           _21 = copy (_22.2: &[f32]);
150           StorageDead(_22);
151           StorageLive(_26);
152           _26 = const {ALLOC5: &&BigStruct};

153           _35 = deref_copy (*_26);
154           StorageLive(_23);
155           _36 = deref_copy (*_26);
- -         _23 = ((*_36).0: f32);
+ -         _23 = copy ((*_36).0: f32);
157 +         _23 = const 82f32;
158           StorageLive(_24);
159           _37 = deref_copy (*_26);

- -         _24 = ((*_37).1: std::option::Option<S>);
+ -         _24 = copy ((*_37).1: std::option::Option<S>);
161 +         _24 = const Option::<S>::Some(S(35_i32));
162           StorageLive(_25);
163           _38 = deref_copy (*_26);

-           _25 = ((*_38).2: &[f32]);
+           _25 = copy ((*_38).2: &[f32]);
165           StorageDead(_26);
166           StorageLive(_27);
167           StorageLive(_28);
- -         _28 = _23;
+ -         _28 = copy _23;
169 +         _28 = const 82f32;
170           StorageLive(_29);
170           StorageLive(_29);
- -         _29 = _24;
+ -         _29 = copy _24;
172 +         _29 = const Option::<S>::Some(S(35_i32));
173           StorageLive(_30);
-           _30 = _25;
+           _30 = copy _25;
175 -         _27 = BigStruct(move _28, move _29, move _30);
176 +         _27 = BigStruct(const 82f32, const Option::<S>::Some(S(35_i32)), move _30);
177           StorageDead(_30);
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/struct.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/struct.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/struct.main.DataflowConstProp.64bit.diff
---- [mir-opt] tests/mir-opt/dataflow-const-prop/terminator.rs stdout ----
17           StorageLive(_2);
18           StorageLive(_3);
19           StorageLive(_4);
19           StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
21 -         _3 = Add(move _4, const 1_i32);
22 +         _4 = const 1_i32;
23 +         _3 = const 2_i32;
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/terminator.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/terminator.main.DataflowConstProp.panic-unwind.diff

---- [mir-opt] tests/mir-opt/dataflow-const-prop/transmute.rs stdout ----
---- [mir-opt] tests/mir-opt/dataflow-const-prop/transmute.rs stdout ----
15           StorageLive(_1);
16 -         _1 = const 1_usize as std::boxed::Box<Never> (Transmute);
17 +         _1 = const Box::<Never>(Unique::<Never> {{ pointer: NonNull::<Never> {{ pointer: {0x1 as *const Never} }}, _marker: PhantomData::<Never> }}, std::alloc::Global);
-           _2 = (((_1.0: std::ptr::Unique<Never>).0: std::ptr::NonNull<Never>).0: *const Never);
+           _2 = copy (((_1.0: std::ptr::Unique<Never>).0: std::ptr::NonNull<Never>).0: *const Never);
19           unreachable;
21   }

thread '[mir-opt] tests/mir-opt/dataflow-const-prop/transmute.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dataflow-const-prop/transmute.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dataflow-const-prop/transmute.unreachable_box.DataflowConstProp.64bit.diff
---- [mir-opt] tests/mir-opt/dead-store-elimination/cycle.rs stdout ----
11       }
12   
13       bb1: {
13       bb1: {
-           switchInt(_4) -> [1: bb2, otherwise: bb3];
+           switchInt(copy _4) -> [1: bb2, otherwise: bb3];
16   
17       bb2: {

- -         _5 = _3;
---
22 +         nop;
23 +         nop;
24 +         nop;

thread '[mir-opt] tests/mir-opt/dead-store-elimination/cycle.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dead-store-elimination/cycle.cycle.DeadStoreElimination-initial.diff
---- [mir-opt] tests/mir-opt/dead-store-elimination/call_arg_copy.rs stdout ----
10   
11       bb0: {
12           StorageLive(_2);
12           StorageLive(_2);
- -         _2 = use_both(_1, _1) -> [return: bb1, unwind continue];
- +         _2 = use_both(_1, move _1) -> [return: bb1, unwind continue];
+ -         _2 = use_both(copy _1, copy _1) -> [return: bb1, unwind continue];
+ +         _2 = use_both(copy _1, move _1) -> [return: bb1, unwind continue];
16   
17       bb1: {

thread '[mir-opt] tests/mir-opt/dead-store-elimination/call_arg_copy.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dead-store-elimination/call_arg_copy.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dead-store-elimination/call_arg_copy.move_simple.DeadStoreElimination-final.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dead-store-elimination/provenance_soundness.rs stdout ----
18       bb0: {
19           StorageLive(_2);
20           StorageLive(_3);
20           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
22           _2 = move _3 as usize (PointerExposeAddress);
23           StorageDead(_3);
24           StorageLive(_4);
25           StorageLive(_5);
-           _5 = _1;
+           _5 = copy _1;
+           _5 = copy _1;
27           _4 = move _5 as isize (PointerExposeAddress);
28           StorageDead(_5);
29           _0 = const ();
thread '[mir-opt] tests/mir-opt/dead-store-elimination/provenance_soundness.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dead-store-elimination/provenance_soundness.pointer_to_int.DeadStoreElimination-initial.diff

---- [mir-opt] tests/mir-opt/deduplicate_blocks.rs stdout ----
---- [mir-opt] tests/mir-opt/deduplicate_blocks.rs stdout ----
40       bb3: {
41 -         _0 = const false;
42 -         goto -> bb14;
- +         switchInt((*_2)[0 of 3]) -> [47: bb4, otherwise: bb10];
+ +         switchInt(copy (*_2)[0 of 3]) -> [47: bb4, otherwise: bb10];
45   
46       bb4: {


- -         switchInt((*_2)[0 of 3]) -> [47: bb5, otherwise: bb3];
- +         switchInt((*_2)[1 of 3]) -> [47: bb5, otherwise: bb10];
+ -         switchInt(copy (*_2)[0 of 3]) -> [47: bb5, otherwise: bb3];
+ +         switchInt(copy (*_2)[1 of 3]) -> [47: bb5, otherwise: bb10];
50   
51       bb5: {


- -         switchInt((*_2)[1 of 3]) -> [47: bb6, otherwise: bb3];
- +         switchInt((*_2)[2 of 3]) -> [47: bb11, 33: bb11, otherwise: bb10];
+ -         switchInt(copy (*_2)[1 of 3]) -> [47: bb6, otherwise: bb3];
+ +         switchInt(copy (*_2)[2 of 3]) -> [47: bb11, 33: bb11, otherwise: bb10];
55   
56       bb6: {


- -         switchInt((*_2)[2 of 3]) -> [47: bb12, 33: bb13, otherwise: bb3];
- +         switchInt((*_2)[0 of 4]) -> [47: bb7, otherwise: bb2];
+ -         switchInt(copy (*_2)[2 of 3]) -> [47: bb12, 33: bb13, otherwise: bb3];
+ +         switchInt(copy (*_2)[0 of 4]) -> [47: bb7, otherwise: bb2];
60   
61       bb7: {


- -         switchInt((*_2)[0 of 4]) -> [47: bb8, otherwise: bb2];
- +         switchInt((*_2)[1 of 4]) -> [47: bb8, otherwise: bb2];
+ -         switchInt(copy (*_2)[0 of 4]) -> [47: bb8, otherwise: bb2];
+ +         switchInt(copy (*_2)[1 of 4]) -> [47: bb8, otherwise: bb2];
65   
66       bb8: {


- -         switchInt((*_2)[1 of 4]) -> [47: bb9, otherwise: bb2];
- +         switchInt((*_2)[2 of 4]) -> [47: bb9, otherwise: bb2];
+ -         switchInt(copy (*_2)[1 of 4]) -> [47: bb9, otherwise: bb2];
+ +         switchInt(copy (*_2)[2 of 4]) -> [47: bb9, otherwise: bb2];
70   
71       bb9: {


- -         switchInt((*_2)[2 of 4]) -> [47: bb10, otherwise: bb2];
- +         switchInt((*_2)[3 of 4]) -> [47: bb10, otherwise: bb2];
+ -         switchInt(copy (*_2)[2 of 4]) -> [47: bb10, otherwise: bb2];
+ +         switchInt(copy (*_2)[3 of 4]) -> [47: bb10, otherwise: bb2];
75   
76       bb10: {


- -         switchInt((*_2)[3 of 4]) -> [47: bb11, otherwise: bb2];
+ -         switchInt(copy (*_2)[3 of 4]) -> [47: bb11, otherwise: bb2];
79 - 
80 -     bb11: {

thread '[mir-opt] tests/mir-opt/deduplicate_blocks.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/deduplicate_blocks.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/deduplicate_blocks.is_line_doc_comment_2.DeduplicateBlocks.panic-unwind.diff
---- [mir-opt] tests/mir-opt/derefer_terminator_test.rs stdout ----
52           _5 = &_6;
53           _4 = &_5;
53           _4 = &_5;
54 -         PlaceMention((*(*(*(*_4)))));
- -         switchInt((*(*(*(*_4))))) -> [0: bb3, otherwise: bb4];
+ -         switchInt(copy (*(*(*(*_4))))) -> [0: bb3, otherwise: bb4];
56 +         _10 = deref_copy (*_4);
57 +         _11 = deref_copy (*_10);
58 +         _12 = deref_copy (*_11);

60 +         _13 = deref_copy (*_4);
61 +         _14 = deref_copy (*_13);
62 +         _15 = deref_copy (*_14);
- +         switchInt((*_15)) -> [0: bb3, otherwise: bb4];
+ +         switchInt(copy (*_15)) -> [0: bb3, otherwise: bb4];
65   
66       bb3: {

thread '[mir-opt] tests/mir-opt/derefer_terminator_test.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/derefer_terminator_test.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/derefer_terminator_test.main.Derefer.panic-unwind.diff

---- [mir-opt] tests/mir-opt/derefer_complex_case.rs stdout ----
64   
65       bb5: {
66           StorageLive(_12);
- -         _12 = (*((_7 as Some).0: &i32));
+ -         _12 = copy (*((_7 as Some).0: &i32));
68 +         _15 = deref_copy ((_7 as Some).0: &i32);
- +         _12 = (*_15);
+ +         _12 = copy (*_15);
70           StorageLive(_13);
-           _13 = _12;
+           _13 = copy _12;
72           _6 = std::mem::drop::<i32>(move _13) -> [return: bb7, unwind continue];
74   

thread '[mir-opt] tests/mir-opt/derefer_complex_case.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/derefer_complex_case.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/derefer_complex_case.main.Derefer.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dest-prop/branch.rs stdout ----
35       }
36   
37       bb3: {
---
58 -         StorageDead(_2);
59 -         StorageDead(_1);
60 +         nop;

thread '[mir-opt] tests/mir-opt/dest-prop/branch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/branch.foo.DestinationPropagation.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dest-prop/cycle.rs stdout ----
31   
32       bb1: {
33 -         StorageLive(_2);
---
39 -         _1 = move _4;
40 -         StorageDead(_4);
41 +         nop;

48 +         nop;
49           StorageLive(_5);
50 -         StorageLive(_6);
- -         _6 = _1;
+ -         _6 = copy _1;
52 +         nop;
53 +         nop;
54           _5 = std::mem::drop::<i32>(move _6) -> [return: bb2, unwind continue];
thread '[mir-opt] tests/mir-opt/dest-prop/cycle.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/cycle.main.DestinationPropagation.panic-unwind.diff

---- [mir-opt] tests/mir-opt/dest-prop/dead_stores_better.rs stdout ----
---
16         _1 = const 5_usize;
17         nop;
18         nop;

thread '[mir-opt] tests/mir-opt/dest-prop/dead_stores_better.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/dead_stores_better.f.DestinationPropagation.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/deref-patterns/string.rs stdout ----
26     }
27 
28     bb2: {
28     bb2: {
-         _6 = <str as PartialEq>::eq(_5, const "a") -> [return: bb3, unwind unreachable];
+         _6 = <str as PartialEq>::eq(copy _5, const "a") -> [return: bb3, unwind unreachable];
31 
32     bb3: {

52     }
52     }
53 
54     bb7: {
-         switchInt(_2) -> [0: bb9, otherwise: bb8];
+         switchInt(copy _2) -> [0: bb9, otherwise: bb8];
57 
58     bb8: {

thread '[mir-opt] tests/mir-opt/deref-patterns/string.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/deref-patterns/string.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/deref-patterns/string.foo.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/dest-prop/union.rs stdout ----
---- [mir-opt] tests/mir-opt/dest-prop/union.rs stdout ----
24           _1 = Un { us: const 1_u32 };
25           StorageDead(_2);
26           StorageLive(_3);
-           _3 = (_1.0: u32);
+           _3 = copy (_1.0: u32);
28           StorageDead(_3);
29           StorageDead(_1);

thread '[mir-opt] tests/mir-opt/dest-prop/union.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/union.main.DestinationPropagation.panic-unwind.diff


---- [mir-opt] tests/mir-opt/dest-prop/copy_propagation_arg.rs stdout ----
10       bb0: {
11           StorageLive(_2);
12 -         StorageLive(_3);
- -         _3 = _1;
+ -         _3 = copy _1;
14 -         _2 = dummy(move _3) -> [return: bb1, unwind continue];
15 +         nop;
16 +         nop;
thread '[mir-opt] tests/mir-opt/dest-prop/copy_propagation_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/dest-prop/copy_propagation_arg.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/copy_propagation_arg.foo.DestinationPropagation.panic-unwind.diff
---- [mir-opt] tests/mir-opt/early_otherwise_branch_3_element_tuple.rs stdout ----
29       bb0: {
30           StorageLive(_4);
31           StorageLive(_5);
31           StorageLive(_5);
-           _5 = _1;
+           _5 = copy _1;
33           StorageLive(_6);
-           _6 = _2;
+           _6 = copy _2;
35           StorageLive(_7);
-           _7 = _3;
+           _7 = copy _3;
37           _4 = (move _5, move _6, move _7);
38           StorageDead(_7);
39           StorageDead(_6);
43 +         StorageLive(_14);
43 +         StorageLive(_14);
44 +         _14 = discriminant((_4.1: std::option::Option<u32>));
45 +         StorageLive(_15);
- +         _15 = Ne(_10, move _14);
+ +         _15 = Ne(copy _10, move _14);
47 +         StorageDead(_14);
48 +         switchInt(move _15) -> [0: bb5, otherwise: bb1];

70 -     bb4: {
71 +     bb3: {
72           StorageLive(_11);
72           StorageLive(_11);
-           _11 = (((_4.0: std::option::Option<u32>) as Some).0: u32);
+           _11 = copy (((_4.0: std::option::Option<u32>) as Some).0: u32);
74           StorageLive(_12);
-           _12 = (((_4.1: std::option::Option<u32>) as Some).0: u32);
+           _12 = copy (((_4.1: std::option::Option<u32>) as Some).0: u32);
76           StorageLive(_13);
-           _13 = (((_4.2: std::option::Option<u32>) as Some).0: u32);
+           _13 = copy (((_4.2: std::option::Option<u32>) as Some).0: u32);
78           _0 = const 0_u32;
79           StorageDead(_13);
80           StorageDead(_12);
91 + 
92 +     bb5: {
93 +         StorageDead(_15);
93 +         StorageDead(_15);
- +         switchInt(_10) -> [1: bb2, otherwise: bb1];
+ +         switchInt(copy _10) -> [1: bb2, otherwise: bb1];
96   }
97   

thread '[mir-opt] tests/mir-opt/early_otherwise_branch_3_element_tuple.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_3_element_tuple.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/early_otherwise_branch_3_element_tuple.opt1.EarlyOtherwiseBranch.diff

---- [mir-opt] tests/mir-opt/dest-prop/simple.rs stdout ----
18           _2 = [const 0_u8; 1024];
19           StorageLive(_3);
20 -         StorageLive(_4);
- -         _4 = _1;
+ -         _4 = copy _1;
22 +         nop;
23 +         nop;
24           StorageLive(_5);
35 +         nop;
36           StorageDead(_6);
37           StorageDead(_3);
-           _0 = _2;
-           _0 = _2;
+           _0 = copy _2;
39           StorageDead(_2);
40           return;
41       }

thread '[mir-opt] tests/mir-opt/dest-prop/simple.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/simple.nrvo.DestinationPropagation.panic-unwind.diff
---- [mir-opt] tests/mir-opt/dest-prop/dead_stores_79191.rs stdout ----
12 
13     bb0: {
14         nop;
14         nop;
-         _3 = _1;
+         _3 = copy _1;
16         _1 = const 5_usize;
17         nop;
18         nop;

thread '[mir-opt] tests/mir-opt/dest-prop/dead_stores_79191.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/dest-prop/dead_stores_79191.f.DestinationPropagation.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/early_otherwise_branch.rs stdout ----
22       bb0: {
23           StorageLive(_3);
24           StorageLive(_4);
24           StorageLive(_4);
-           _4 = _1;
+           _4 = copy _1;
26           StorageLive(_5);
-           _5 = _2;
+           _5 = copy _2;
28           _3 = (move _4, move _5);
29           StorageDead(_5);
30           StorageDead(_4);
33 +         StorageLive(_10);
33 +         StorageLive(_10);
34 +         _10 = discriminant((_3.1: std::option::Option<u32>));
35 +         StorageLive(_11);
- +         _11 = Ne(_7, move _10);
+ +         _11 = Ne(copy _7, move _10);
37 +         StorageDead(_10);
38 +         switchInt(move _11) -> [0: bb4, otherwise: bb1];

52 - 
53 -     bb3: {
54           StorageLive(_8);
54           StorageLive(_8);
-           _8 = (((_3.0: std::option::Option<u32>) as Some).0: u32);
+           _8 = copy (((_3.0: std::option::Option<u32>) as Some).0: u32);
56           StorageLive(_9);
-           _9 = (((_3.1: std::option::Option<u32>) as Some).0: u32);
+           _9 = copy (((_3.1: std::option::Option<u32>) as Some).0: u32);
58           _0 = const 0_u32;
59           StorageDead(_9);
60           StorageDead(_8);
70 + 
71 +     bb4: {
72 +         StorageDead(_11);
72 +         StorageDead(_11);
- +         switchInt(_7) -> [1: bb2, otherwise: bb1];
+ +         switchInt(copy _7) -> [1: bb2, otherwise: bb1];
75   }
76   

thread '[mir-opt] tests/mir-opt/early_otherwise_branch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/early_otherwise_branch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/early_otherwise_branch.opt1.EarlyOtherwiseBranch.diff

---- [mir-opt] tests/mir-opt/early_otherwise_branch_noopt.rs stdout ----
29       bb0: {
30           StorageLive(_3);
31           StorageLive(_4);
-           _4 = _1;
+           _4 = copy _1;
33           StorageLive(_5);
-           _5 = _2;
+           _5 = copy _2;
35           _3 = (move _4, move _5);
36           StorageDead(_5);
37           StorageDead(_4);
60   
61       bb5: {
62           StorageLive(_9);
62           StorageLive(_9);
-           _9 = (((_3.0: std::option::Option<u32>) as Some).0: u32);
+           _9 = copy (((_3.0: std::option::Option<u32>) as Some).0: u32);
64           StorageLive(_10);
-           _10 = (((_3.1: std::option::Option<u32>) as Some).0: u32);
+           _10 = copy (((_3.1: std::option::Option<u32>) as Some).0: u32);
66           _0 = const 0_u32;
67           StorageDead(_10);
68           StorageDead(_9);
71   
72       bb6: {
73           StorageLive(_11);
73           StorageLive(_11);
-           _11 = (((_3.0: std::option::Option<u32>) as Some).0: u32);
+           _11 = copy (((_3.0: std::option::Option<u32>) as Some).0: u32);
75           _0 = const 1_u32;
76           StorageDead(_11);
77           goto -> bb8;
79   
80       bb7: {
81           StorageLive(_12);
81           StorageLive(_12);
-           _12 = (((_3.1: std::option::Option<u32>) as Some).0: u32);
+           _12 = copy (((_3.1: std::option::Option<u32>) as Some).0: u32);
83           _0 = const 2_u32;
84           StorageDead(_12);
85           goto -> bb8;
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_noopt.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_noopt.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
---- [mir-opt] tests/mir-opt/early_otherwise_branch_soundness.rs stdout ----
34   
35       bb4: {
36           StorageLive(_5);
36           StorageLive(_5);
-           _5 = (((*_2) as Some).0: i32);
-           _0 = _5;
+           _5 = copy (((*_2) as Some).0: i32);
+           _0 = copy _5;
39           StorageDead(_5);
40           goto -> bb5;

thread '[mir-opt] tests/mir-opt/early_otherwise_branch_soundness.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_soundness.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/early_otherwise_branch_soundness.no_deref_ptr.EarlyOtherwiseBranch.diff
---- [mir-opt] tests/mir-opt/exponential_or.rs stdout ----
19 
20     bb0: {
21         PlaceMention(_1);
21         PlaceMention(_1);
-         switchInt((_1.0: u32)) -> [1: bb2, 4: bb2, otherwise: bb1];
+         switchInt(copy (_1.0: u32)) -> [1: bb2, 4: bb2, otherwise: bb1];
24 
25     bb1: {

33     }
33     }
34 
35     bb3: {
-         switchInt((((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1: bb4, 8: bb4, otherwise: bb1];
+         switchInt(copy (((_1.2: std::option::Option<i32>) as Some).0: i32)) -> [1: bb4, 8: bb4, otherwise: bb1];
38 
39     bb4: {


-         _5 = Le(const 6_u32, (_1.3: u32));
+         _5 = Le(const 6_u32, copy (_1.3: u32));
41         switchInt(move _5) -> [0: bb5, otherwise: bb7];
43 

44     bb5: {
44     bb5: {
-         _3 = Le(const 13_u32, (_1.3: u32));
+         _3 = Le(const 13_u32, copy (_1.3: u32));
46         switchInt(move _3) -> [0: bb1, otherwise: bb6];
48 

49     bb6: {
49     bb6: {
-         _4 = Le((_1.3: u32), const 16_u32);
+         _4 = Le(copy (_1.3: u32), const 16_u32);
51         switchInt(move _4) -> [0: bb1, otherwise: bb8];
53 

54     bb7: {
54     bb7: {
-         _6 = Le((_1.3: u32), const 9_u32);
+         _6 = Le(copy (_1.3: u32), const 9_u32);
56         switchInt(move _6) -> [0: bb5, otherwise: bb8];
58 

62 
63     bb9: {
63     bb9: {
64         StorageLive(_7);
-         _7 = (_1.0: u32);
+         _7 = copy (_1.0: u32);
66         StorageLive(_8);
-         _8 = (_1.3: u32);
+         _8 = copy (_1.3: u32);
68         StorageLive(_9);
-         _9 = _7;
+         _9 = copy _7;
70         StorageLive(_10);
-         _10 = _8;
+         _10 = copy _8;
72         _0 = BitXor(move _9, move _10);
73         StorageDead(_10);
74         StorageDead(_9);
thread '[mir-opt] tests/mir-opt/exponential_or.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/exponential_or.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/exponential_or.match_tuple.SimplifyCfg-initial.after.mir
---- [mir-opt] tests/mir-opt/enum_opt.rs stdout ----
38 +         StorageLive(_4);
38 +         StorageLive(_4);
39 +         _4 = const [8197_usize, 1_usize];
40 +         _5 = discriminant(_2);
- +         _6 = _5 as usize (IntToInt);
- +         _7 = _4[_6];
+ +         _6 = copy _5 as usize (IntToInt);
+ +         _7 = copy _4[_6];
43 +         _8 = &raw mut _1;
- +         _9 = _8 as *mut u8 (PtrToPtr);
+ +         _9 = copy _8 as *mut u8 (PtrToPtr);
45 +         _10 = &raw const _2;
- +         _11 = _10 as *const u8 (PtrToPtr);
+ +         _11 = copy _10 as *const u8 (PtrToPtr);
47 +         Deinit(_8);
- +         copy_nonoverlapping(dst = _9, src = _11, count = _7);
+ +         copy_nonoverlapping(dst = copy _9, src = copy _11, count = copy _7);
49 +         StorageDead(_4);
50           StorageDead(_2);
51 -         _0 = move _1;
52 +         StorageLive(_12);
52 +         StorageLive(_12);
53 +         _12 = const [8197_usize, 1_usize];
54 +         _13 = discriminant(_1);
- +         _14 = _13 as usize (IntToInt);
- +         _15 = _12[_14];
+ +         _14 = copy _13 as usize (IntToInt);
+ +         _15 = copy _12[_14];
57 +         _16 = &raw mut _0;
- +         _17 = _16 as *mut u8 (PtrToPtr);
+ +         _17 = copy _16 as *mut u8 (PtrToPtr);
59 +         _18 = &raw const _1;
- +         _19 = _18 as *const u8 (PtrToPtr);
+ +         _19 = copy _18 as *const u8 (PtrToPtr);
61 +         Deinit(_16);
- +         copy_nonoverlapping(dst = _17, src = _19, count = _15);
+ +         copy_nonoverlapping(dst = copy _17, src = copy _19, count = copy _15);
63 +         StorageDead(_12);
64           StorageDead(_1);

thread '[mir-opt] tests/mir-opt/enum_opt.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/enum_opt.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/enum_opt.unin.EnumSizeOpt.64bit.diff
---- [mir-opt] tests/mir-opt/early_otherwise_branch_68867.rs stdout ----
70           StorageLive(_3);
71           StorageLive(_4);
72           StorageLive(_5);
72           StorageLive(_5);
-           _5 = _1;
+           _5 = copy _1;
74           StorageLive(_6);
-           _6 = _2;
+           _6 = copy _2;
76           _4 = (move _5, move _6);
77           StorageDead(_6);
78           StorageDead(_5);
118       bb6: {
119           StorageLive(_12);
119           StorageLive(_12);
120           _39 = deref_copy (_4.0: &ViewportPercentageLength);
-           _12 = (((*_39) as Vw).0: f32);
+           _12 = copy (((*_39) as Vw).0: f32);
122           StorageLive(_13);
123           _40 = deref_copy (_4.1: &ViewportPercentageLength);
-           _13 = (((*_40) as Vw).0: f32);
+           _13 = copy (((*_40) as Vw).0: f32);
125           StorageLive(_14);
126           StorageLive(_15);
-           _15 = _12;
+           _15 = copy _12;
128           StorageLive(_16);
-           _16 = _13;
+           _16 = copy _13;
130           _14 = Add(move _15, move _16);
131           StorageDead(_16);
132           StorageDead(_15);
140       bb7: {
141           StorageLive(_17);
141           StorageLive(_17);
142           _41 = deref_copy (_4.0: &ViewportPercentageLength);
-           _17 = (((*_41) as Vh).0: f32);
+           _17 = copy (((*_41) as Vh).0: f32);
144           StorageLive(_18);
145           _42 = deref_copy (_4.1: &ViewportPercentageLength);
-           _18 = (((*_42) as Vh).0: f32);
+           _18 = copy (((*_42) as Vh).0: f32);
147           StorageLive(_19);
148           StorageLive(_20);
-           _20 = _17;
+           _20 = copy _17;
150           StorageLive(_21);
-           _21 = _18;
+           _21 = copy _18;
152           _19 = Add(move _20, move _21);
153           StorageDead(_21);
154           StorageDead(_20);
162       bb8: {
163           StorageLive(_22);
163           StorageLive(_22);
164           _43 = deref_copy (_4.0: &ViewportPercentageLength);
-           _22 = (((*_43) as Vmin).0: f32);
+           _22 = copy (((*_43) as Vmin).0: f32);
166           StorageLive(_23);
167           _44 = deref_copy (_4.1: &ViewportPercentageLength);
-           _23 = (((*_44) as Vmin).0: f32);
+           _23 = copy (((*_44) as Vmin).0: f32);
169           StorageLive(_24);
170           StorageLive(_25);
-           _25 = _22;
+           _25 = copy _22;
172           StorageLive(_26);
-           _26 = _23;
+           _26 = copy _23;
174           _24 = Add(move _25, move _26);
175           StorageDead(_26);
176           StorageDead(_25);
184       bb9: {
185           StorageLive(_27);
185           StorageLive(_27);
186           _45 = deref_copy (_4.0: &ViewportPercentageLength);
-           _27 = (((*_45) as Vmax).0: f32);
+           _27 = copy (((*_45) as Vmax).0: f32);
188           StorageLive(_28);
189           _46 = deref_copy (_4.1: &ViewportPercentageLength);
-           _28 = (((*_46) as Vmax).0: f32);
+           _28 = copy (((*_46) as Vmax).0: f32);
191           StorageLive(_29);
192           StorageLive(_30);
-           _30 = _27;
+           _30 = copy _27;
194           StorageLive(_31);
-           _31 = _28;
+           _31 = copy _28;
196           _29 = Add(move _30, move _31);
197           StorageDead(_31);
198           StorageDead(_30);
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_68867.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/early_otherwise_branch_68867.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
---- [mir-opt] tests/mir-opt/funky_arms.rs stdout ----
44           StorageLive(_4);
45           StorageLive(_20);
46           StorageLive(_21);
46           StorageLive(_21);
-           _21 = ((*_1).0: u32);
+           _21 = copy ((*_1).0: u32);
48           _20 = BitAnd(move _21, const 1_u32);
49           StorageDead(_21);
50           _4 = Ne(move _20, const 0_u32);
51           StorageDead(_20);
52           StorageLive(_5);
52           StorageLive(_5);
-           switchInt(_4) -> [0: bb2, otherwise: bb1];
+           switchInt(copy _4) -> [0: bb2, otherwise: bb1];
55   
56       bb1: {

67   
67   
68       bb3: {
69           StorageLive(_6);
-           _6 = ((*_1).4: std::option::Option<usize>);
+           _6 = copy ((*_1).4: std::option::Option<usize>);
71           _7 = discriminant(_6);
72           switchInt(move _7) -> [1: bb4, 0: bb6, otherwise: bb9];

75       bb4: {
76 -         StorageLive(_8);
77 +         nop;
77 +         nop;
-           _8 = ((_6 as Some).0: usize);
+           _8 = copy ((_6 as Some).0: usize);
79           StorageLive(_9);
-           _9 = _1;
+           _9 = copy _1;
81           StorageLive(_10);
-           _10 = _2;
+           _10 = copy _2;
83           StorageLive(_11);
-           _11 = _5;
+           _11 = copy _5;
85           StorageLive(_12);
86           StorageLive(_13);
87           StorageLive(_14);
---

thread '[mir-opt] tests/mir-opt/instsimplify/duplicate_switch_targets.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/instsimplify/duplicate_switch_targets.assert_zero.InstSimplify.diff

---- [mir-opt] tests/mir-opt/issue_38669.rs stdout ----
25     bb2: {
26         StorageLive(_3);
27         StorageLive(_4);
-         _4 = _1;
+         _4 = copy _1;
29         switchInt(move _4) -> [0: bb4, otherwise: bb3];
31 

thread '[mir-opt] tests/mir-opt/issue_38669.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_38669.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_38669.main.SimplifyCfg-initial.after.mir
---- [mir-opt] tests/mir-opt/issue_101973.rs stdout ----
33           StorageLive(_3);
34           StorageLive(_4);
35           StorageLive(_5);
35           StorageLive(_5);
-           _5 = _1;
+           _5 = copy _1;
37           _4 = const 0_u32;
38 -         StorageLive(_14);
- -         _14 = BitAnd(_5, const 255_u32);
+ -         _14 = BitAnd(copy _5, const 255_u32);
40 -         _4 = BitOr(const 0_u32, move _14);
41 -         StorageDead(_14);
42 +         nop;

- +         _14 = BitAnd(_1, const 255_u32);
- +         _4 = _14;
+ +         _14 = BitAnd(copy _1, const 255_u32);
+ +         _4 = copy _14;
45 +         nop;
46           StorageDead(_5);
47           StorageLive(_6);
48           StorageLive(_7);
49           StorageLive(_8);
50           StorageLive(_9);
-           _9 = _1;
-           _9 = _1;
+           _9 = copy _1;
52 -         _10 = const 8_i32 as u32 (IntToInt);
53 -         _11 = Lt(move _10, const 32_u32);
54 -         assert(move _11, "attempt to shift right by `{}`, which would overflow", const 8_i32) -> [success: bb1, unwind continue];
59   
60       bb1: {
60       bb1: {
61 -         _8 = Shr(move _9, const 8_i32);
- +         _8 = Shr(_1, const 8_i32);
+ +         _8 = Shr(copy _1, const 8_i32);
63           StorageDead(_9);
64           _7 = BitAnd(move _8, const 15_u32);
65           StorageDead(_8);
thread '[mir-opt] tests/mir-opt/issue_101973.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_101973.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_101973.inner.GVN.panic-unwind.diff
---- [mir-opt] tests/mir-opt/instsimplify/combine_array_len.rs stdout ----
31           _3 = const 0_usize;
31           _3 = const 0_usize;
32 -         _4 = Len(_1);
33 +         _4 = const 2_usize;
-           _5 = Lt(_3, _4);
-           assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind continue];
+           _5 = Lt(copy _3, copy _4);
+           assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind continue];
37   
38       bb1: {

-           _2 = _1[_3];
-           _2 = _1[_3];
+           _2 = copy _1[_3];
40           StorageDead(_3);
41           StorageLive(_6);
42           StorageLive(_7);
43           _7 = const 1_usize;
43           _7 = const 1_usize;
44 -         _8 = Len(_1);
45 +         _8 = const 2_usize;
-           _9 = Lt(_7, _8);
-           assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> [success: bb2, unwind continue];
+           _9 = Lt(copy _7, copy _8);
+           assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, copy _7) -> [success: bb2, unwind continue];
49   
50       bb2: {

-           _6 = _1[_7];
-           _6 = _1[_7];
+           _6 = copy _1[_7];
52           StorageDead(_7);
53           StorageLive(_10);
54           StorageLive(_11);
-           _11 = _2;
+           _11 = copy _2;
56           StorageLive(_12);
-           _12 = _2;
-           _12 = _2;
+           _12 = copy _2;
58           _10 = Mul(move _11, move _12);
59           StorageDead(_12);
60           StorageDead(_11);
61           StorageLive(_13);
62           StorageLive(_14);
-           _14 = _6;
+           _14 = copy _6;
+           _14 = copy _6;
64           StorageLive(_15);
-           _15 = _6;
+           _15 = copy _6;
66           _13 = Mul(move _14, move _15);
67           StorageDead(_15);
68           StorageDead(_14);
thread '[mir-opt] tests/mir-opt/instsimplify/combine_array_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/instsimplify/combine_array_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/instsimplify/combine_array_len.norm2.InstSimplify.panic-unwind.diff
---- [mir-opt] tests/mir-opt/instsimplify/combine_clone_of_primitives.rs stdout ----
20           StorageLive(_4);
20           StorageLive(_4);
21           _4 = &((*_1).0: T);
22 -         _3 = &(*_4);
- +         _3 = _4;
+ +         _3 = copy _4;
24           _2 = <T as Clone>::clone(move _3) -> [return: bb1, unwind continue];
26   


32           _7 = &((*_1).1: u64);
33 -         _6 = &(*_7);
34 -         _5 = <u64 as Clone>::clone(move _6) -> [return: bb2, unwind: bb4];
- +         _6 = _7;
- +         _5 = (*_6);
+ +         _6 = copy _7;
+ +         _5 = copy (*_6);
37 +         goto -> bb2;
39   


45           _10 = &((*_1).2: [f32; 3]);
46 -         _9 = &(*_10);
47 -         _8 = <[f32; 3] as Clone>::clone(move _9) -> [return: bb3, unwind: bb4];
- +         _9 = _10;
- +         _8 = (*_9);
+ +         _9 = copy _10;
+ +         _8 = copy (*_9);
50 +         goto -> bb3;
52   

thread '[mir-opt] tests/mir-opt/instsimplify/combine_clone_of_primitives.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/instsimplify/combine_clone_of_primitives.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/instsimplify/combine_clone_of_primitives.{impl#0}-clone.InstSimplify.panic-unwind.diff
---- [mir-opt] tests/mir-opt/issue_41110.rs stdout ----
63 +     }
64 + 
64 + 
65 +     bb8 (cleanup): {
- +         switchInt(_5) -> [0: bb6, otherwise: bb7];
+ +         switchInt(copy _5) -> [0: bb6, otherwise: bb7];
68   }
69   

thread '[mir-opt] tests/mir-opt/issue_41110.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_41110.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_41110.main.ElaborateDrops.panic-unwind.diff
---- [mir-opt] tests/mir-opt/issue_41888.rs stdout ----
115 +     }
116 + 
116 + 
117 +     bb15 (cleanup): {
- +         switchInt(_7) -> [0: bb12, otherwise: bb14];
+ +         switchInt(copy _7) -> [0: bb12, otherwise: bb14];
120 + 
121 +     bb16: {

132 +     }
132 +     }
133 + 
134 +     bb19: {
- +         switchInt(_7) -> [0: bb13, otherwise: bb18];
+ +         switchInt(copy _7) -> [0: bb13, otherwise: bb18];
137 + 
137 + 
138 +     bb20 (cleanup): {
141 +     }
142 + 
142 + 
143 +     bb21 (cleanup): {
- +         switchInt(_7) -> [0: bb12, otherwise: bb20];
+ +         switchInt(copy _7) -> [0: bb12, otherwise: bb20];
146   }
147   

thread '[mir-opt] tests/mir-opt/issue_41888.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_41888.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_41888.main.ElaborateDrops.panic-unwind.diff
---- [mir-opt] tests/mir-opt/issue_62289.rs stdout ----
56 
57     bb4: {
58         StorageLive(_12);
58         StorageLive(_12);
-         _12 = ((_6 as Continue).0: u32);
-         (*_5) = _12;
+         _12 = copy ((_6 as Continue).0: u32);
+         (*_5) = copy _12;
61         StorageDead(_12);
62         _1 = move _5;
63         drop(_5) -> [return: bb7, unwind: bb11];
65 
66     bb5: {
67         StorageLive(_9);
67         StorageLive(_9);
-         _9 = ((_6 as Break).0: std::option::Option<std::convert::Infallible>);
+         _9 = copy ((_6 as Break).0: std::option::Option<std::convert::Infallible>);
69         StorageLive(_11);
-         _11 = _9;
+         _11 = copy _9;
71         _0 = <Option<Box<u32>> as FromResidual<Option<Infallible>>>::from_residual(move _11) -> [return: bb6, unwind: bb12];
73 

thread '[mir-opt] tests/mir-opt/issue_62289.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_62289.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_62289.test.ElaborateDrops.before.panic-unwind.mir
---- [mir-opt] tests/mir-opt/issue_76432.rs stdout ----
25       bb0: {
26           StorageLive(_3);
27           StorageLive(_4);
27           StorageLive(_4);
-           _4 = [_1, _1, _1];
+           _4 = [copy _1, copy _1, copy _1];
29           _3 = &_4;
30           _2 = move _3 as &[T] (PointerCoercion(Unsize));
31           StorageDead(_3);
thread '[mir-opt] tests/mir-opt/issue_76432.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_76432.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_76432.test.SimplifyComparisonIntegral.panic-unwind.diff
---- [mir-opt] tests/mir-opt/issue_72181.rs stdout ----
11         StorageLive(_2);
12         _2 = const 0_usize;
12         _2 = const 0_usize;
13         _3 = Len(_1);
-         _4 = Lt(_2, _3);
-         assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> [success: bb1, unwind: bb2];
+         _4 = Lt(copy _2, copy _3);
+         assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, copy _2) -> [success: bb1, unwind: bb2];
17 
18     bb1: {


-         _0 = (_1[_2].1: u32);
+         _0 = copy (_1[_2].1: u32);
20         StorageDead(_2);
22     }

thread '[mir-opt] tests/mir-opt/issue_72181.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_72181.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_72181.foo.built.after.mir
---- [mir-opt] tests/mir-opt/issue_78192.rs stdout ----
---- [mir-opt] tests/mir-opt/issue_78192.rs stdout ----
18           _4 = &raw const (*_1);
19           _3 = &_4;
20 -         _2 = &(*_3);
- +         _2 = _3;
+ +         _2 = copy _3;
22           StorageDead(_3);
-           _0 = (*_2);
+           _0 = copy (*_2);
24           StorageDead(_4);
25           StorageDead(_2);

thread '[mir-opt] tests/mir-opt/issue_78192.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_78192.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_78192.f.InstSimplify.diff
---- [mir-opt] tests/mir-opt/issue_91633.rs stdout ----
16         StorageLive(_3);
17         _3 = const 0_usize;
17         _3 = const 0_usize;
18         _4 = Len((*_1));
-         _5 = Lt(_3, _4);
-         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb2];
+         _5 = Lt(copy _3, copy _4);
+         assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind: bb2];
22 
23     bb1: {

thread '[mir-opt] tests/mir-opt/issue_91633.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_91633.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_91633.fun.built.after.mir
---- [mir-opt] tests/mir-opt/issues/issue_59352.rs stdout ----
26     bb0: {
27         StorageLive(_3);
28         StorageLive(_2);
28         StorageLive(_2);
-         _2 = char::methods::<impl char>::to_digit(_1, const 8_u32) -> [return: bb1, unwind continue];
+         _2 = char::methods::<impl char>::to_digit(copy _1, const 8_u32) -> [return: bb1, unwind continue];
31 
32     bb1: {

thread '[mir-opt] tests/mir-opt/issues/issue_59352.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issues/issue_59352.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issues/issue_59352.num_to_digit.PreCodegen.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/issues/issue_75439.rs stdout ----
23       bb0: {
24           StorageLive(_2);
25           StorageLive(_3);
25           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
27           _2 = move _3 as [u32; 4] (Transmute);
28           StorageDead(_3);
-           switchInt(_2[0 of 4]) -> [0: bb1, otherwise: bb6];
+           switchInt(copy _2[0 of 4]) -> [0: bb1, otherwise: bb6];
31   
32       bb1: {


-           switchInt(_2[1 of 4]) -> [0: bb2, otherwise: bb6];
+           switchInt(copy _2[1 of 4]) -> [0: bb2, otherwise: bb6];
35   
36       bb2: {


-           switchInt(_2[2 of 4]) -> [0: bb4, 4294901760: bb5, otherwise: bb6];
+           switchInt(copy _2[2 of 4]) -> [0: bb4, 4294901760: bb5, otherwise: bb6];
39   
40       bb3: {

41           StorageLive(_5);
41           StorageLive(_5);
42           StorageLive(_6);
-           _6 = _4;
+           _6 = copy _4;
44           _5 = move _6 as [u8; 4] (Transmute);
45           StorageDead(_6);
46           _0 = Option::<[u8; 4]>::Some(move _5);
51   
52       bb4: {
53           StorageLive(_4);
53           StorageLive(_4);
-           _4 = _2[3 of 4];
+           _4 = copy _2[3 of 4];
55           goto -> bb3;
57   

58       bb5: {
59           StorageLive(_4);
59           StorageLive(_4);
-           _4 = _2[3 of 4];
+           _4 = copy _2[3 of 4];
61           goto -> bb3;
63   

thread '[mir-opt] tests/mir-opt/issues/issue_75439.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issues/issue_75439.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issues/issue_75439.foo.MatchBranchSimplification.diff
---- [mir-opt] tests/mir-opt/lower_slice_len.rs stdout ----
16       bb0: {
17           StorageLive(_3);
18           StorageLive(_4);
18           StorageLive(_4);
-           _4 = _1;
+           _4 = copy _1;
20           StorageLive(_5);
21           StorageLive(_6);
22           _6 = &(*_2);

35           StorageDead(_5);
36           StorageDead(_4);
37           StorageLive(_7);
-           _7 = _1;
+           _7 = copy _1;
39           _8 = Len((*_2));
-           _9 = Lt(_7, _8);
-           assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, _7) -> [success: bb3, unwind continue];
+           _9 = Lt(copy _7, copy _8);
+           assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, copy _7) -> [success: bb3, unwind continue];
43   
44       bb3: {


-           _0 = (*_2)[_7];
+           _0 = copy (*_2)[_7];
46           StorageDead(_7);
47           goto -> bb5;

thread '[mir-opt] tests/mir-opt/lower_slice_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/lower_slice_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/lower_slice_len.bound.LowerSliceLenCalls.panic-unwind.diff
---- [mir-opt] tests/mir-opt/issue_99325.rs stdout ----
83         StorageDead(_3);
84         PlaceMention(_2);
85         StorageLive(_8);
85         StorageLive(_8);
-         _8 = (_2.0: &&[u8]);
+         _8 = copy (_2.0: &&[u8]);
87         StorageLive(_9);
-         _9 = (_2.1: &&[u8; 4]);
+         _9 = copy (_2.1: &&[u8; 4]);
89         StorageLive(_10);
90         StorageLive(_11);
91         _11 = &(*_8);
191         StorageDead(_24);
192         PlaceMention(_23);
193         StorageLive(_28);
193         StorageLive(_28);
-         _28 = (_23.0: &&[u8]);
+         _28 = copy (_23.0: &&[u8]);
195         StorageLive(_29);
-         _29 = (_23.1: &&[u8; 4]);
+         _29 = copy (_23.1: &&[u8; 4]);
197         StorageLive(_30);
198         StorageLive(_31);
199         _31 = &(*_28);
thread '[mir-opt] tests/mir-opt/issue_99325.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/issue_99325.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/issue_99325.main.built.after.64bit.mir
---- [mir-opt] tests/mir-opt/lower_array_len.rs stdout ----
17       bb0: {
18           StorageLive(_3);
19           StorageLive(_4);
19           StorageLive(_4);
-           _4 = _1;
+           _4 = copy _1;
21           StorageLive(_5);
22           StorageLive(_6);
23           StorageLive(_7);

39           StorageDead(_5);
40           StorageDead(_4);
41           StorageLive(_8);
-           _8 = _1;
+           _8 = copy _1;
43           _9 = Len((*_2));
-           _10 = Lt(_8, _9);
-           assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, _8) -> [success: bb3, unwind continue];
+           _10 = Lt(copy _8, copy _9);
+           assert(move _10, "index out of bounds: the length is {} but the index is {}", move _9, copy _8) -> [success: bb3, unwind continue];
47   
48       bb3: {


-           _0 = (*_2)[_8];
+           _0 = copy (*_2)[_8];
50           StorageDead(_8);
51           goto -> bb5;

thread '[mir-opt] tests/mir-opt/lower_array_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/lower_array_len.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-unwind.diff
---- [mir-opt] tests/mir-opt/jump_threading.rs stdout ----
39   
40       bb2: {
41           StorageLive(_6);
41           StorageLive(_6);
-           _6 = ((_1 as Err).0: usize);
+           _6 = copy ((_1 as Err).0: usize);
43           StorageLive(_7);
-           _7 = _6;
+           _7 = copy _6;
45           _2 = ControlFlow::<usize, i32>::Break(move _7);
46           StorageDead(_7);
47           StorageDead(_6);
51   
52       bb3: {
53           StorageLive(_4);
53           StorageLive(_4);
-           _4 = ((_1 as Ok).0: i32);
+           _4 = copy ((_1 as Ok).0: i32);
55           StorageLive(_5);
-           _5 = _4;
+           _5 = copy _4;
57           _2 = ControlFlow::<usize, i32>::Continue(move _5);
58           StorageDead(_5);
59           StorageDead(_4);
68   
69       bb5: {
70           StorageLive(_11);
70           StorageLive(_11);
-           _11 = ((_2 as Break).0: usize);
+           _11 = copy ((_2 as Break).0: usize);
72           _0 = Option::<i32>::None;
73           StorageDead(_11);
74           goto -> bb7;
76   
77       bb6: {
78           StorageLive(_9);
78           StorageLive(_9);
-           _9 = ((_2 as Continue).0: i32);
+           _9 = copy ((_2 as Continue).0: i32);
80           StorageLive(_10);
-           _10 = _9;
+           _10 = copy _9;
82           _0 = Option::<i32>::Some(move _10);
83           StorageDead(_10);
84           StorageDead(_9);
thread '[mir-opt] tests/mir-opt/jump_threading.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/jump_threading.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/jump_threading.too_complex.JumpThreading.panic-unwind.diff
---- [mir-opt] tests/mir-opt/match_test.rs stdout ----
---- [mir-opt] tests/mir-opt/match_test.rs stdout ----
---
13 +         _0 = const 'b';
14           return;
15       }

thread '[mir-opt] tests/mir-opt/nrvo_miscompile_111005.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/nrvo_miscompile_111005.wrong.RenameReturnPlace.diff
---- [mir-opt] tests/mir-opt/pre-codegen/checked_ops.rs stdout ----
37         StorageLive(_4);
38         StorageLive(_5);
39         StorageLive(_3);
39         StorageLive(_3);
-         _3 = BitAnd(_2, const 31_u32);
-         _4 = ShlUnchecked(_1, _3);
+         _3 = BitAnd(copy _2, const 31_u32);
+         _4 = ShlUnchecked(copy _1, copy _3);
42         StorageDead(_3);
-         _5 = Ge(_2, const core::num::<impl u32>::BITS);
+         _5 = Ge(copy _2, const core::num::<impl u32>::BITS);
44         StorageLive(_6);
45         _6 = unlikely(move _5) -> [return: bb1, unwind unreachable];

50     }
51 
52     bb2: {
52     bb2: {
-         _0 = Option::<u32>::Some(_4);
+         _0 = Option::<u32>::Some(copy _4);
54         goto -> bb4;
56 

thread '[mir-opt] tests/mir-opt/pre-codegen/checked_ops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/checked_ops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/checked_ops.checked_shl.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.rs stdout ----
52           StorageDead(_6);
53 -         StorageLive(_12);
54 +         nop;
54 +         nop;
-           _12 = (_5.0: *const [u8]);
+           _12 = copy (_5.0: *const [u8]);
56 -         _4 = move _12 as *mut [u8] (PtrToPtr);
57 -         StorageDead(_12);
- +         _4 = _12 as *mut [u8] (PtrToPtr);
+ +         _4 = copy _12 as *mut [u8] (PtrToPtr);
59 +         nop;
60           StorageDead(_5);
61 -         _3 = move _4 as *mut u8 (PtrToPtr);

- +         _3 = _12 as *mut u8 (PtrToPtr);
+ +         _3 = copy _12 as *mut u8 (PtrToPtr);
63           StorageDead(_4);
64           StorageDead(_3);
65 -         StorageDead(_1);
86           StorageLive(_6);
87           StorageLive(_7);
88           _9 = const main::promoted[0];
- -         _7 = _9;
- -         _7 = _9;
+ -         _7 = copy _9;
90 +         _7 = const {ALLOC1<imm>: &std::alloc::Global};
91           StorageLive(_8);
- -         _8 = _1;
+ -         _8 = copy _1;
93 -         _6 = std::alloc::Global::alloc_impl(move _7, move _8, const false) -> [return: bb5, unwind continue];
94 +         _8 = const Layout {{ size: Indirect { alloc_id: ALLOC0, offset: Size(8 bytes) }: usize, align: std::ptr::Alignment(Scalar(0x0000000000000000): std::ptr::alignment::AlignmentEnum) }};
95 +         _6 = std::alloc::Global::alloc_impl(const {ALLOC1<imm>: &std::alloc::Global}, const Layout {{ size: Indirect { alloc_id: ALLOC0, offset: Size(8 bytes) }: usize, align: std::ptr::Alignment(Scalar(0x0000000000000000): std::ptr::alignment::AlignmentEnum) }}, const false) -> [return: bb5, unwind continue];
thread '[mir-opt] tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/issue_117368_print_invalid_constant.main.GVN.64bit.panic-unwind.diff
---- [mir-opt] tests/mir-opt/pre-codegen/simple_option_map.rs stdout ----
29     }
30 
31     bb2: {
31     bb2: {
-         _3 = ((_1 as Some).0: i32);
+         _3 = copy ((_1 as Some).0: i32);
33         StorageLive(_4);
-         _4 = Add(_3, const 1_i32);
+         _4 = Add(copy _3, const 1_i32);
35         _0 = Option::<i32>::Some(move _4);
36         StorageDead(_4);
37         goto -> bb3;
thread '[mir-opt] tests/mir-opt/pre-codegen/simple_option_map.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/simple_option_map.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/simple_option_map.ezmap.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/pre-codegen/range_iter.rs stdout ----
34         StorageLive(_3);
34         StorageLive(_3);
35         _3 = &((*_1).1: u32);
36         StorageLive(_4);
-         _4 = ((*_1).0: u32);
+         _4 = copy ((*_1).0: u32);
38         StorageLive(_5);
-         _5 = ((*_1).1: u32);
+         _5 = copy ((*_1).1: u32);
40         _6 = Lt(move _4, move _5);
41         StorageDead(_5);
42         StorageDead(_4);
53     bb2: {
54         StorageDead(_3);
55         StorageDead(_2);
55         StorageDead(_2);
-         _7 = ((*_1).0: u32);
+         _7 = copy ((*_1).0: u32);
57         StorageLive(_8);
-         _8 = <u32 as Step>::forward_unchecked(_7, const 1_usize) -> [return: bb3, unwind continue];
+         _8 = <u32 as Step>::forward_unchecked(copy _7, const 1_usize) -> [return: bb3, unwind continue];
60 
61     bb3: {


62         ((*_1).0: u32) = move _8;
63         StorageDead(_8);
-         _0 = Option::<u32>::Some(_7);
+         _0 = Option::<u32>::Some(copy _7);
65         goto -> bb4;
67 

thread '[mir-opt] tests/mir-opt/pre-codegen/range_iter.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/range_iter.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/range_iter.range_iter_next.PreCodegen.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/pre-codegen/loops.rs stdout ----
43     }
44 
45     bb0: {
45     bb0: {
-         _3 = std::ops::Range::<usize> { start: _1, end: _2 };
+         _3 = std::ops::Range::<usize> { start: copy _1, end: copy _2 };
47         StorageLive(_4);
-         _4 = _3;
+         _4 = copy _3;
49         goto -> bb1;
51 

59         StorageLive(_7);
59         StorageLive(_7);
60         _7 = &(_4.1: usize);
61         StorageLive(_8);
-         _8 = (_4.0: usize);
+         _8 = copy (_4.0: usize);
63         StorageLive(_9);
-         _9 = (_4.1: usize);
+         _9 = copy (_4.1: usize);
65         _10 = Lt(move _8, move _9);
66         StorageDead(_9);
67         StorageDead(_8);
81     bb3: {
82         StorageDead(_7);
83         StorageDead(_6);
83         StorageDead(_6);
-         _11 = (_4.0: usize);
+         _11 = copy (_4.0: usize);
85         StorageLive(_12);
-         _12 = <usize as Step>::forward_unchecked(_11, const 1_usize) -> [return: bb4, unwind continue];
+         _12 = <usize as Step>::forward_unchecked(copy _11, const 1_usize) -> [return: bb4, unwind continue];
88 
89     bb4: {


90         (_4.0: usize) = move _12;
91         StorageDead(_12);
-         _13 = Option::<usize>::Some(_11);
+         _13 = Option::<usize>::Some(copy _11);
93         StorageDead(_10);
94         StorageDead(_11);
-         _14 = ((_13 as Some).0: usize);
+         _14 = copy ((_13 as Some).0: usize);
96         _15 = opaque::<usize>(move _14) -> [return: bb5, unwind continue];
98 

thread '[mir-opt] tests/mir-opt/pre-codegen/loops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/loops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/loops.int_range.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/pre-codegen/spans.rs stdout ----
11     bb0: {
11     bb0: {
12         StorageLive(_2);                 // scope 0 at $DIR/spans.rs:11:11: 11:13
13         _2 = &_1;                        // scope 0 at $DIR/spans.rs:11:11: 11:13
-         _0 = _1;                         // scope 1 at $DIR/spans.rs:15:5: 15:7
+         _0 = copy _1;                    // scope 1 at $DIR/spans.rs:15:5: 15:7
15         StorageDead(_2);                 // scope 0 at $DIR/spans.rs:11:13: 11:14
16         return;                          // scope 0 at $DIR/spans.rs:12:2: 12:2

thread '[mir-opt] tests/mir-opt/pre-codegen/spans.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/spans.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/spans.outer.PreCodegen.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/remove_storage_markers.rs stdout ----
64   
65       bb5: {
66 -         StorageLive(_12);
66 -         StorageLive(_12);
-           _12 = ((_7 as Some).0: i32);
+           _12 = copy ((_7 as Some).0: i32);
68 -         StorageLive(_13);
-           _13 = _12;
-           _1 = Add(_1, move _13);
+           _13 = copy _12;
+           _1 = Add(copy _1, move _13);
71 -         StorageDead(_13);
72           _6 = const ();
73 -         StorageDead(_12);
thread '[mir-opt] tests/mir-opt/remove_storage_markers.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/remove_storage_markers.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/remove_storage_markers.main.RemoveStorageMarkers.panic-unwind.diff
---- [mir-opt] tests/mir-opt/pre-codegen/try_identity.rs stdout ----
30 
31     bb1: {
31     bb1: {
32         _3 = move ((_1 as Ok).0: T);
-         _4 = ControlFlow::<E, T>::Continue(_3);
+         _4 = ControlFlow::<E, T>::Continue(copy _3);
34         _5 = move ((_4 as Continue).0: T);
-         _0 = Result::<T, E>::Ok(_5);
+         _0 = Result::<T, E>::Ok(copy _5);
36         StorageDead(_4);
37         goto -> bb3;

39 
40     bb2: {
40     bb2: {
41         _6 = move ((_1 as Err).0: E);
-         _4 = ControlFlow::<E, T>::Break(_6);
+         _4 = ControlFlow::<E, T>::Break(copy _6);
43         _7 = move ((_4 as Break).0: E);
-         _0 = Result::<T, E>::Err(_7);
+         _0 = Result::<T, E>::Err(copy _7);
45         StorageDead(_4);
46         goto -> bb3;

thread '[mir-opt] tests/mir-opt/pre-codegen/try_identity.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/try_identity.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/try_identity.new.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/remove_fake_borrows.rs stdout ----
24       }
25   
26       bb2: {
26       bb2: {
-           switchInt((*(*((_1 as Some).0: &&i32)))) -> [0: bb3, otherwise: bb1];
+           switchInt(copy (*(*((_1 as Some).0: &&i32)))) -> [0: bb3, otherwise: bb1];
29   
30       bb3: {

42 +         nop;
42 +         nop;
43 +         nop;
44           StorageLive(_8);
-           _8 = _2;
+           _8 = copy _2;
46           switchInt(move _8) -> [0: bb6, otherwise: bb5];
48   

thread '[mir-opt] tests/mir-opt/remove_fake_borrows.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/remove_fake_borrows.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/remove_fake_borrows.match_guard.CleanupPostBorrowck.panic-unwind.diff
---- [mir-opt] tests/mir-opt/remove_unneeded_drops.rs stdout ----
13       bb0: {
14 -         nop;
15           StorageLive(_3);
15           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
17 -         drop(_3) -> [return: bb1, unwind continue];
19 - 

thread '[mir-opt] tests/mir-opt/remove_unneeded_drops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/remove_unneeded_drops.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/remove_unneeded_drops.opt.RemoveUnneededDrops.panic-unwind.diff
---- [mir-opt] tests/mir-opt/separate_const_switch.rs stdout ----
35       }
36   
37       bb2: {
37       bb2: {
-           _5 = ((_1 as Err).0: usize);
-           _2 = ControlFlow::<usize, i32>::Break(_5);
+           _5 = copy ((_1 as Err).0: usize);
+           _2 = ControlFlow::<usize, i32>::Break(copy _5);
40 -         goto -> bb4;
41 +         goto -> bb8;

43   
44       bb3: {
44       bb3: {
-           _4 = ((_1 as Ok).0: i32);
-           _2 = ControlFlow::<usize, i32>::Continue(_4);
+           _4 = copy ((_1 as Ok).0: i32);
+           _2 = ControlFlow::<usize, i32>::Continue(copy _4);
47           goto -> bb4;
49   

55   
56       bb5: {
56       bb5: {
57           StorageLive(_8);
-           _8 = ((_2 as Break).0: usize);
+           _8 = copy ((_2 as Break).0: usize);
59           _0 = const Option::<i32>::None;
60           StorageDead(_8);
61           goto -> bb7;
62       }
63   
64       bb6: {
64       bb6: {
-           _7 = ((_2 as Continue).0: i32);
-           _0 = Option::<i32>::Some(_7);
+           _7 = copy ((_2 as Continue).0: i32);
+           _0 = Option::<i32>::Some(copy _7);
67           goto -> bb7;
69   

thread '[mir-opt] tests/mir-opt/separate_const_switch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/separate_const_switch.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/separate_const_switch.too_complex.JumpThreading.diff
---- [mir-opt] tests/mir-opt/pre-codegen/slice_filter.rs stdout ----
79 
80     bb0: {
81         StorageLive(_4);
81         StorageLive(_4);
-         _3 = (*_2);
+         _3 = copy (*_2);
83         _4 = &((*_3).0: usize);
84         StorageLive(_5);
85         _5 = &((*_3).1: usize);
92         _8 = &_4;
93         StorageLive(_10);
94         StorageLive(_9);
-         _9 = _6;
-         _9 = _6;
+         _9 = copy _6;
96         _10 = &_9;
97         StorageLive(_11);
98         StorageLive(_12);

-         _11 = _4;
-         _12 = _9;
+         _11 = copy _4;
+         _12 = copy _9;
101         StorageLive(_13);
-         _13 = (*_11);
+         _13 = copy (*_11);
103         StorageLive(_14);
-         _14 = (*_12);
+         _14 = copy (*_12);
105         _15 = Le(move _13, move _14);
106         StorageDead(_14);
107         StorageDead(_13);
126         _16 = &_7;
127         StorageLive(_18);
128         StorageLive(_17);
-         _17 = _5;
-         _17 = _5;
+         _17 = copy _5;
130         _18 = &_17;
131         StorageLive(_19);
132         StorageLive(_20);

-         _19 = _7;
-         _20 = _17;
+         _19 = copy _7;
+         _20 = copy _17;
135         StorageLive(_21);
-         _21 = (*_19);
+         _21 = copy (*_19);
137         StorageLive(_22);
-         _22 = (*_20);
+         _22 = copy (*_20);
139         _23 = Le(move _21, move _22);
140         StorageDead(_22);
141         StorageDead(_21);
157         _24 = &_6;
158         StorageLive(_26);
159         StorageLive(_25);
-         _25 = _4;
-         _25 = _4;
+         _25 = copy _4;
161         _26 = &_25;
162         StorageLive(_27);
163         StorageLive(_28);

-         _27 = _6;
-         _28 = _25;
+         _27 = copy _6;
+         _28 = copy _25;
166         StorageLive(_29);
-         _29 = (*_27);
+         _29 = copy (*_27);
168         StorageLive(_30);
-         _30 = (*_28);
+         _30 = copy (*_28);
170         _31 = Le(move _29, move _30);
171         StorageDead(_30);
172         StorageDead(_29);
191         _32 = &_5;
192         StorageLive(_34);
193         StorageLive(_33);
-         _33 = _7;
-         _33 = _7;
+         _33 = copy _7;
195         _34 = &_33;
196         StorageLive(_35);
197         StorageLive(_36);

-         _35 = _5;
-         _36 = _33;
+         _35 = copy _5;
+         _36 = copy _33;
200         StorageLive(_37);
-         _37 = (*_35);
+         _37 = copy (*_35);
202         StorageLive(_38);
-         _38 = (*_36);
+         _38 = copy (*_36);
204         _0 = Le(move _37, move _38);
205         StorageDead(_38);
206         StorageDead(_37);
thread '[mir-opt] tests/mir-opt/pre-codegen/slice_filter.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/pre-codegen/slice_filter.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/slice_filter.variant_a-{closure#0}.PreCodegen.after.mir
---- [mir-opt] tests/mir-opt/simplify_duplicate_unreachable_blocks.rs stdout ----
5       let mut _0: u8;
6   
7       bb0: {
7       bb0: {
- -         switchInt(_1) -> [0: bb1, 255: bb2, otherwise: bb3];
- +         switchInt(_1) -> [0: bb1, 255: bb1, otherwise: bb2];
+ -         switchInt(copy _1) -> [0: bb1, 255: bb2, otherwise: bb3];
+ +         switchInt(copy _1) -> [0: bb1, 255: bb1, otherwise: bb2];
11   
12       bb1: {

18 -     }
---
22           return;
23       }
24   }

thread '[mir-opt] tests/mir-opt/simplify_duplicate_unreachable_blocks.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/simplify_duplicate_unreachable_blocks.assert_nonzero_nonmax.SimplifyCfg-after-uninhabited-enum-branching.diff
---- [mir-opt] tests/mir-opt/retag.rs stdout ----
8     bb0: {
8     bb0: {
9         Retag([fn entry] _1);
10         Retag([fn entry] _2);
-         _0 = _2;
+         _0 = copy _2;
12         Retag(_0);
14     }

thread '[mir-opt] tests/mir-opt/retag.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/retag.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/retag.{impl#0}-foo_shr.SimplifyCfg-elaborate-drops.after.panic-unwind.mir
---- [mir-opt] tests/mir-opt/set_no_discriminant.rs stdout ----
---- [mir-opt] tests/mir-opt/set_no_discriminant.rs stdout ----
10           _2 = E::<char>::A;
11           discriminant(_2) = 1;
12           _1 = discriminant(_2);
-           switchInt(_1) -> [0: bb1, otherwise: bb2];
+           switchInt(copy _1) -> [0: bb1, otherwise: bb2];
15   
16       bb1: {

thread '[mir-opt] tests/mir-opt/set_no_discriminant.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/set_no_discriminant.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/set_no_discriminant.f.JumpThreading.diff
---- [mir-opt] tests/mir-opt/simplify_locals_fixedpoint.rs stdout ----
33   
34       bb2: {
35           StorageLive(_6);
35           StorageLive(_6);
-           _6 = (((_1.0: std::option::Option<u8>) as Some).0: u8);
+           _6 = copy (((_1.0: std::option::Option<u8>) as Some).0: u8);
37           StorageDead(_6);
38           goto -> bb3;

thread '[mir-opt] tests/mir-opt/simplify_locals_fixedpoint.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/simplify_locals_fixedpoint.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/simplify_locals_fixedpoint.foo.SimplifyLocals-final.panic-unwind.diff
---- [mir-opt] tests/mir-opt/simplify_match.rs stdout ----
14 -         StorageLive(_2);
15 +         nop;
16           _2 = const false;
16           _2 = const false;
- -         _1 = _2;
+ -         _1 = copy _2;
18 -         StorageDead(_2);
- -         switchInt(_1) -> [0: bb2, otherwise: bb1];
+ -         switchInt(copy _1) -> [0: bb2, otherwise: bb1];
20 +         _1 = const false;
21 +         nop;
22 +         switchInt(const false) -> [0: bb2, otherwise: bb1];
thread '[mir-opt] tests/mir-opt/simplify_match.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/simplify_match.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/simplify_match.main.GVN.panic-unwind.diff
---- [mir-opt] tests/mir-opt/simplify_locals_removes_unused_consts.rs stdout ----
---- [mir-opt] tests/mir-opt/simplify_locals_removes_unused_consts.rs stdout ----
51 -         _5 = (move _6, move _7);
52 +         StorageLive(_8);
53 +         _8 = Temp { x: const 40_u8 };
- +         _7 = (_8.0: u8);
+ +         _7 = copy (_8.0: u8);
55 +         _6 = Add(move _7, const 2_u8);
56           StorageDead(_7);
57 -         StorageDead(_6);
67 -         StorageLive(_10);
68 -         StorageLive(_11);
68 -         StorageLive(_11);
69 -         _11 = Temp { x: const 40_u8 };
- -         _10 = (_11.0: u8);
+ -         _10 = copy (_11.0: u8);
71 -         _9 = Add(move _10, const 2_u8);
72 -         StorageDead(_10);
73 -         _8 = use_u8(move _9) -> [return: bb2, unwind continue];
thread '[mir-opt] tests/mir-opt/simplify_locals_removes_unused_consts.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/simplify_locals_removes_unused_consts.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/simplify_locals_removes_unused_consts.main.SimplifyLocals-before-const-prop.panic-unwind.diff
---- [mir-opt] tests/mir-opt/sroa/lifetimes.rs stdout ----
---- [mir-opt] tests/mir-opt/sroa/lifetimes.rs stdout ----
77 -         _5 = move (_1.0: std::result::Result<std::boxed::Box<dyn std::fmt::Display>, <T as Err>::Err>);
78 +         _5 = move _31;
79           StorageLive(_6);
- -         _6 = (_1.1: u32);
- +         _6 = _32;
+ -         _6 = copy (_1.1: u32);
+ +         _6 = copy _32;
82           _7 = discriminant(_5);
83           switchInt(move _7) -> [0: bb2, otherwise: bb7];

179       }
180   
181       bb11: {
181       bb11: {
-           switchInt(_27) -> [0: bb10, otherwise: bb12];
+           switchInt(copy _27) -> [0: bb10, otherwise: bb12];
184   
185       bb12: {

thread '[mir-opt] tests/mir-opt/sroa/lifetimes.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/sroa/lifetimes.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/sroa/lifetimes.foo.ScalarReplacementOfAggregates.diff
---- [mir-opt] tests/mir-opt/simplify_locals.rs stdout ----
12 -         StorageLive(_1);
13 -         StorageLive(_2);
13 -         StorageLive(_2);
14 -         _2 = &/*tls*/ mut X;
- -         _1 = (*_2);
+ -         _1 = copy (*_2);
16 -         StorageDead(_2);
17 -         StorageDead(_1);
18           _0 = const ();
thread '[mir-opt] tests/mir-opt/simplify_locals.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/simplify_locals.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/simplify_locals.t1.SimplifyLocals-before-const-prop.diff
---- [mir-opt] tests/mir-opt/switch_to_self.rs stdout ----
9       }
10   
11       bb1: {
11       bb1: {
-           switchInt(_1) -> [0: bb1, otherwise: bb2];
+           switchInt(copy _1) -> [0: bb1, otherwise: bb2];
14   
15       bb2: {


-           switchInt(_1) -> [0: bb1, otherwise: bb2];
+           switchInt(copy _1) -> [0: bb1, otherwise: bb2];
18   }
19   

thread '[mir-opt] tests/mir-opt/switch_to_self.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/switch_to_self.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/switch_to_self.test.MatchBranchSimplification.diff

---- [mir-opt] tests/mir-opt/slice_drop_shim.rs stdout ----
28     }
29 
30     bb4 (cleanup): {
-         _5 = Eq(_3, _2);
+         _5 = Eq(copy _3, copy _2);
32         switchInt(move _5) -> [0: bb3, otherwise: bb2];
34 

39     }
40 
40 
41     bb6: {
-         _7 = Eq(_3, _2);
+         _7 = Eq(copy _3, copy _2);
43         switchInt(move _7) -> [0: bb5, otherwise: bb1];
45 

thread '[mir-opt] tests/mir-opt/slice_drop_shim.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/slice_drop_shim.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/slice_drop_shim.core.ptr-drop_in_place.[String].AddMovesForPackedDrops.before.mir
---- [mir-opt] tests/mir-opt/storage_ranges.rs stdout ----
43         StorageLive(_3);
44         StorageLive(_4);
45         StorageLive(_5);
45         StorageLive(_5);
-         _5 = _1;
+         _5 = copy _1;
47         _4 = Option::<i32>::Some(move _5);
48         StorageDead(_5);
49         _3 = &_4;
thread '[mir-opt] tests/mir-opt/storage_ranges.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/storage_ranges.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/storage_ranges.main.nll.0.mir
---- [mir-opt] tests/mir-opt/sroa/structs.rs stdout ----
15       bb0: {
16           StorageLive(_2);
17           StorageLive(_3);
17           StorageLive(_3);
-           _3 = _1;
+           _3 = copy _1;
19           _2 = Option::<usize>::Some(move _3);
20           StorageDead(_3);
21           _4 = discriminant(_2);
24   
25       bb1: {
26           StorageLive(_5);
26           StorageLive(_5);
-           _5 = ((_2 as Some).0: usize);
-           _0 = _5;
+           _5 = copy ((_2 as Some).0: usize);
+           _0 = copy _5;
29           StorageDead(_5);
30           goto -> bb3;

thread '[mir-opt] tests/mir-opt/sroa/structs.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/sroa/structs.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/sroa/structs.enums.ScalarReplacementOfAggregates.diff
---- [mir-opt] tests/mir-opt/unnamed-fields/field_access.rs stdout ----
15     bb0: {
16         StorageLive(_2);
17         StorageLive(_3);
17         StorageLive(_3);
-         _3 = (_1.0: u8);
+         _3 = copy (_1.0: u8);
19         _2 = access::<u8>(move _3) -> [return: bb1, unwind: bb5];
21 

24         StorageDead(_2);
25         StorageLive(_4);
25         StorageLive(_4);
26         StorageLive(_5);
-         _5 = ((_1.1: Foo::{anon_adt#0}).0: i8);
+         _5 = copy ((_1.1: Foo::{anon_adt#0}).0: i8);
28         _4 = access::<i8>(move _5) -> [return: bb2, unwind: bb5];
30 

33         StorageDead(_4);
34         StorageLive(_6);
34         StorageLive(_6);
35         StorageLive(_7);
-         _7 = ((_1.1: Foo::{anon_adt#0}).1: bool);
+         _7 = copy ((_1.1: Foo::{anon_adt#0}).1: bool);
37         _6 = access::<bool>(move _7) -> [return: bb3, unwind: bb5];
39 

42         StorageDead(_6);
43         StorageLive(_8);
43         StorageLive(_8);
44         StorageLive(_9);
-         _9 = (((_1.2: Foo::{anon_adt#1}).0: Foo::{anon_adt#1}::{anon_adt#0}).0: [u8; 1]);
+         _9 = copy (((_1.2: Foo::{anon_adt#1}).0: Foo::{anon_adt#1}::{anon_adt#0}).0: [u8; 1]);
46         _8 = access::<[u8; 1]>(move _9) -> [return: bb4, unwind: bb5];
48 

thread '[mir-opt] tests/mir-opt/unnamed-fields/field_access.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/unnamed-fields/field_access.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/unnamed-fields/field_access.foo.SimplifyCfg-initial.after.mir
---- [mir-opt] tests/mir-opt/uninhabited_enum_branching.rs stdout ----
29       }
30   
31       bb2: {
31       bb2: {
-           switchInt(((_2 as A).0: i32)) -> [1: bb3, 2: bb4, otherwise: bb1];
+           switchInt(copy ((_2 as A).0: i32)) -> [1: bb3, 2: bb4, otherwise: bb1];
34   
35       bb3: {

thread '[mir-opt] tests/mir-opt/uninhabited_enum_branching.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/uninhabited_enum_branching.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/uninhabited_enum_branching.otherwise_t4_uninhabited_default_2.UninhabitedEnumBranching.panic-unwind.diff
---- [mir-opt] tests/mir-opt/unreachable.rs stdout ----
26       bb1: {
26       bb1: {
27           _2 = discriminant(_1);
28 -         switchInt(move _2) -> [1: bb2, otherwise: bb6];
- +         _8 = Ne(_2, const 1_isize);
+ +         _8 = Ne(copy _2, const 1_isize);
30 +         assume(move _8);
31 +         goto -> bb6;

thread '[mir-opt] tests/mir-opt/unreachable.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/unreachable.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/unreachable.if_let.UnreachablePropagation.panic-unwind.diff
---- [mir-opt] tests/mir-opt/unreachable_diverging.rs stdout ----
---- [mir-opt] tests/mir-opt/unreachable_diverging.rs stdout ----
35           _4 = move ((_2 as Some).0: Empty);
36           StorageLive(_5);
37           StorageLive(_6);
-           _6 = _1;
+           _6 = copy _1;
39 -         switchInt(move _6) -> [0: bb4, otherwise: bb3];
- +         _8 = Ne(_6, const false);
+ +         _8 = Ne(copy _6, const false);
41 +         assume(move _8);
42 +         goto -> bb3;

thread '[mir-opt] tests/mir-opt/unreachable_diverging.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
thread '[mir-opt] tests/mir-opt/unreachable_diverging.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/unreachable_diverging.main.UnreachablePropagation.panic-unwind.diff
---- [mir-opt] tests/mir-opt/reference_prop.rs stdout ----
191           StorageLive(_5);
192           _5 = &_4;
193           StorageLive(_6);
193           StorageLive(_6);
- -         _6 = (*_5);
- +         _6 = _4;
+ -         _6 = copy (*_5);
+ +         _6 = copy _4;
196           StorageLive(_7);
197           StorageLive(_8);

223           StorageDead(_13);
224 -         StorageDead(_14);
225           StorageLive(_15);
225           StorageLive(_15);
-           _15 = (*_12);
+           _15 = copy (*_12);
227           StorageLive(_16);
228           StorageLive(_17);

247           StorageLive(_21);
248           _21 = &_20;
249           StorageLive(_22);
249           StorageLive(_22);
-           _22 = (*_20);
+           _22 = copy (*_20);
251           StorageLive(_23);
252           StorageLive(_24);
-           _24 = _21;
+           _24 = copy _21;
254           _23 = opaque::<&&usize>(move _24) -> [return: bb3, unwind continue];
256   

271           StorageLive(_28);
271           StorageLive(_28);
272           _28 = &raw mut _27;
273           StorageLive(_29);
-           _29 = (*_27);
+           _29 = copy (*_27);
275           StorageLive(_30);
276           StorageLive(_31);
-           _31 = _28;
+           _31 = copy _28;
278           _30 = opaque::<*mut &usize>(move _31) -> [return: bb4, unwind continue];
280   

293           StorageLive(_34);
294           _34 = &_33;
294           _34 = &_33;
295           StorageLive(_35);
- -         _35 = (*_34);
- +         _35 = _33;
+ -         _35 = copy (*_34);
+ +         _35 = copy _33;
298           StorageLive(_36);
299           StorageLive(_37);
-           _37 = _34;
+           _37 = copy _34;
301           _36 = opaque::<&usize>(move _37) -> [return: bb5, unwind continue];
303   

315           StorageLive(_40);
316           _40 = &_39;
316           _40 = &_39;
317           StorageLive(_41);
- -         _41 = (*_40);
- +         _41 = _39;
+ -         _41 = copy (*_40);
+ +         _41 = copy _39;
320           StorageLive(_42);
-           _42 = _40;
+           _42 = copy _40;
322           StorageLive(_43);
- -         _43 = (*_42);
- +         _43 = _39;
+ -         _43 = copy (*_42);
+ +         _43 = copy _39;
325           StorageLive(_44);
-           _44 = _42;
+           _44 = copy _42;
327           StorageLive(_45);
328           StorageLive(_46);
-           _46 = _44;
+           _46 = copy _44;
330           _45 = opaque::<&usize>(move _46) -> [return: bb6, unwind continue];
332   

345 -         StorageLive(_48);
346 -         _48 = &(*_1);
346 -         _48 = &(*_1);
347           StorageLive(_49);
- -         _49 = (*_48);
- +         _49 = (*_1);
+ -         _49 = copy (*_48);
+ +         _49 = copy (*_1);
350           StorageLive(_50);
351           StorageLive(_51);

372           StorageDead(_54);
373 -         StorageDead(_55);
374           StorageLive(_56);
374           StorageLive(_56);
-           _56 = (*_53);
+           _56 = copy (*_53);
376           StorageLive(_57);
377           StorageLive(_58);

394           StorageLive(_62);
395           _62 = &_61;
396           StorageLive(_63);
396           StorageLive(_63);
-           _63 = (*_61);
+           _63 = copy (*_61);
398           StorageLive(_64);
399           StorageLive(_65);

417           StorageLive(_68);
418           _68 = &mut _67;
419           StorageLive(_69);
419           StorageLive(_69);
-           _69 = (*_67);
+           _69 = copy (*_67);
421           StorageLive(_70);
422           StorageLive(_71);

thread '[mir-opt] tests/mir-opt/reference_prop.rs' panicked at src/tools/compiletest/src/runtest.rs:4342:21:
Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/reference_prop.reference_propagation.ReferencePropagation.diff

@pnkfelix
Copy link
Member

I'm not sure this adds any actual value; the people who are reading the MIR output probably are already well aware of the semantics here?

But maybe making the pretty-printing line up has value. I certainly have valued assembly languages that chose the same number of letters in their opcodes (or at least a small upper bound to their lengh) for this exact reason.

Who are the people who would care most about whether or not to make this change? The people in @rust-lang/wg-mir-opt ?

@pnkfelix
Copy link
Member

I'm going to reassign this to @oli-obk for now because I think they are in a better position to make a call about the value of a change like this.

r? @oli-obk

@rustbot rustbot assigned oli-obk and unassigned pnkfelix Mar 15, 2024
@compiler-errors
Copy link
Member

@pnkfelix:

I'm not sure this adds any actual value; the people who are reading the MIR output probably are already well aware of the semantics here?

I think this adds value.

MIR is read by both MIR experts and non-expert users, and unless a non-experts reads the rustc pretty-printing code, or they reason by elimination, or someone teaches them that non-marked operands are always copy, I don't see how one transitions from "not knowing this" to "knowing this".

If anything, not marking the move operands and always marking copy operands seems more obvious, but why do we care about brevity here?

@oli-obk
Copy link
Contributor

oli-obk commented Mar 18, 2024

I'm moderately in favor of this. I think even tho it's obvious to me I'dve benefited from it when the difference was especially important.

let's leave this open for a week to let other @rust-lang/wg-mir-opt folk chime in. If there are no explanations of why we should keep the status quo or do something else entirely in that week, let's bless everything and land it.

@DianQK
Copy link
Member

DianQK commented Mar 18, 2024

LGTM. But do we also need to update custom_mir?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants