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

Const-prop bugfix: only add propagation inside own block for user variables #71518

Merged
merged 7 commits into from Apr 29, 2020
Merged

Const-prop bugfix: only add propagation inside own block for user variables #71518

merged 7 commits into from Apr 29, 2020

Conversation

felix91gr
Copy link
Contributor

A testing spinoff of #71298. This one only adds the const-prop for locals that are user variables.

@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @ecstatic-morse (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 24, 2020
@felix91gr
Copy link
Contributor Author

AHH I forgot to ask for a specific reviewer. Sorry @ecstatic-morse

@felix91gr
Copy link
Contributor Author

r? @wesleywiser

@felix91gr
Copy link
Contributor Author

CC @oli-obk

@wesleywiser
Copy link
Member

Thanks! I'm just waiting for CI to turn green before starting the perf run.

@wesleywiser
Copy link
Member

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Apr 24, 2020

⌛ Trying commit 8facb48b9efb759cb4055ac3205a400ba5f4142e with merge f498ccd84e2c0f16e72b8bae4683efbbffdc568f...

@bors
Copy link
Contributor

bors commented Apr 24, 2020

☀️ Try build successful - checks-azure
Build commit: f498ccd84e2c0f16e72b8bae4683efbbffdc568f (f498ccd84e2c0f16e72b8bae4683efbbffdc568f)

@rust-timer
Copy link
Collaborator

Queued f498ccd84e2c0f16e72b8bae4683efbbffdc568f with parent 0612568, future comparison URL.

@felix91gr
Copy link
Contributor Author

felix91gr commented Apr 25, 2020

Is it normal that the timer takes this long? Yesterday it took it 2.5 hours between the "Queued f498ccd with parent 0612568, future comparison URL" comment and the "Finished benchmarking try commit" comment. Today it's been a little bit over 5.5 hours already 🤔

@felix91gr
Copy link
Contributor Author

It appears to be advancing, though! https://perf.rust-lang.org/status.html It was on style-servo not more than 15 minutes ago :)

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit f498ccd84e2c0f16e72b8bae4683efbbffdc568f, comparison URL.

@felix91gr
Copy link
Contributor Author

OH BOY this is a bad one. The regressions in performance seem to be here. They lie mostly on memory performance (so max-rss and faults) but cycles also seems to be regressing.

I have a couple theories. My main one is that the clone of locals_of_current_block is causing a lot of unnecessary allocations, which mess with the rest of the program. It can definitely be avoided. I will make it compile, and upload it here.

My other theories are:

  1. That maybe this is not the line in which to be adding this Local to the list of "locals of current block". This is mostly because I still not understand 100% what is the visitor doing and in what order.
  2. Maybe this call to get_const is not what we should be doing. I mean it this way: we're deleting the constant from the pool as soon as we hit a Terminator and find it in the BitSet of locals_of_current_block. We do this by calling remove_const. Maybe instead of changing the LocalState of the InterpCx associated with the ConstPropagator, we could just have a flag per Local inside of ConstPropagator that we turn off when we've "deleted" that Local from our constant propagation pool. Did that make sense?

@wesleywiser @oli-obk

@felix91gr
Copy link
Contributor Author

Removed the .clone() call. If it all goes green, can we get another perf run? :)

@oli-obk
Copy link
Contributor

oli-obk commented Apr 25, 2020

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Contributor

bors commented Apr 25, 2020

⌛ Trying commit 390f416e12c76e08a6cff8a4e46432fa06e8e04d with merge 845e3f5d8ad7afbe9b98ff3588f44ddceaf379bf...

@bors
Copy link
Contributor

bors commented Apr 25, 2020

☀️ Try build successful - checks-azure
Build commit: 845e3f5d8ad7afbe9b98ff3588f44ddceaf379bf (845e3f5d8ad7afbe9b98ff3588f44ddceaf379bf)

@rust-timer
Copy link
Collaborator

Queued 845e3f5d8ad7afbe9b98ff3588f44ddceaf379bf with parent 40008dc, future comparison URL.

@wesleywiser
Copy link
Member

Sorry, I probably should have explained a bit more in the original PR. Generally, we just look at the instructions metric because the others have high variance even on the most innocuous of changes. The perf results here look ok to me. I suspect it's the combination of this PR with the other PR that is causing the issue.

@felix91gr
Copy link
Contributor Author

Queued 845e3f5 with parent 40008dc, future comparison URL.

Dangit, look at that regression! What happened? Btw here it is when compared to the same 0612568 parent as the prior commit.

No but seriously, what happened? I'm guessing that either the Local::from call or the BitSet::remove calls are too heavy and it shows. I'll devise another way that uses BitSet::clear again but without clone calls. There's surely a way.

@felix91gr
Copy link
Contributor Author

Cont: yep, Bitset::remove is pretty heavy. It uses assertions and stuff. I guess that makes sense, after all, it's receiving an index.

@felix91gr
Copy link
Contributor Author

(...) I'll devise another way that uses BitSet::clear again but without clone calls. There's surely a way.

I was just testing a new approach that does not call remove_const and uses another BitSet to keep track of already "forgotten" locals. In get_const, first we check if the Local belongs to the list of "forgotten ones", and return None if they do.

The advantage of this is that after visiting a Terminator, we call BitSet::union with the locals_of_current_block to save those, and then we call clear on the bitset that remembers the current block. This needs no cloning, no remove_const calls, and no fors. There's one assert* on union and the rest of the operations are just bitwise ops.

The disadvantage is that, apart from a check in get_const that we have to add and whose impact should be minimal... is that get_const is not the only way to access LocalValues. A test just failed on me and made me realize this fact.

This approach of gating with BitSets might not be sustainable, if we have to work with every function that wants to access a LocalValue. How many are there? I'll keep looking for them, but maybe this is a signal that the two BitSet technique isn't the path forward. and that we need to just clone the one we're using rn.


* Small digression: that assert checks whether or not the two BitSet have the same size. It will definitely dissappear after const generics is ready, and that will be so cool ✨

@felix91gr
Copy link
Contributor Author

Rebased to fit in with the latest changes to MIR output

@felix91gr
Copy link
Contributor Author

This is mostly ready, I think. I still want to add a medium-sized test that showcases how far const-prop has gone, and what things it still lacks. But that can be done on a different PR. The goal of that test is mostly documentation.

Anything that might be missing?

@rust-highfive
Copy link
Collaborator

Your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-04-28T01:05:12.3840774Z ========================== Starting Command Output ===========================
2020-04-28T01:05:12.3843156Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/a4dd02a4-90b9-46b4-94e3-2a9e1278c76b.sh
2020-04-28T01:05:12.3843389Z 
2020-04-28T01:05:12.3847034Z ##[section]Finishing: Disable git automatic line ending conversion
2020-04-28T01:05:12.3864412Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/71518/merge to s
2020-04-28T01:05:12.3867602Z Task         : Get sources
2020-04-28T01:05:12.3867878Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-04-28T01:05:12.3868441Z Version      : 1.0.0
2020-04-28T01:05:12.3868629Z Author       : Microsoft
---
2020-04-28T01:05:13.3786801Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-04-28T01:05:13.3794494Z ##[command]git config gc.auto 0
2020-04-28T01:05:13.3799189Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-04-28T01:05:13.3803796Z ##[command]git config --get-all http.proxy
2020-04-28T01:05:13.3811311Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/71518/merge:refs/remotes/pull/71518/merge
---
2020-04-28T01:07:33.9338657Z  ---> cb2676f08729
2020-04-28T01:07:33.9339564Z Step 5/8 : ENV RUST_CONFIGURE_ARGS       --build=x86_64-unknown-linux-gnu       --llvm-root=/usr/lib/llvm-8       --enable-llvm-link-shared       --set rust.thin-lto-import-instr-limit=10
2020-04-28T01:07:33.9341158Z  ---> Using cache
2020-04-28T01:07:33.9341791Z  ---> df25ce111862
2020-04-28T01:07:33.9342927Z Step 6/8 : ENV SCRIPT python2.7 ../x.py test --exclude src/tools/tidy &&            python2.7 ../x.py test src/test/mir-opt --pass=build                                   --target=armv5te-unknown-linux-gnueabi &&            python2.7 ../x.py test src/tools/tidy
2020-04-28T01:07:33.9346258Z  ---> 599b9ac96b27
2020-04-28T01:07:33.9346484Z Step 7/8 : ENV NO_DEBUG_ASSERTIONS=1
2020-04-28T01:07:33.9349889Z  ---> Using cache
2020-04-28T01:07:33.9350225Z  ---> 091087e35a36
---
2020-04-28T01:07:34.1495092Z Looks like docker image is the same as before, not uploading
2020-04-28T01:07:42.3728293Z [CI_JOB_NAME=x86_64-gnu-llvm-8]
2020-04-28T01:07:42.3965602Z [CI_JOB_NAME=x86_64-gnu-llvm-8]
2020-04-28T01:07:42.3999907Z == clock drift check ==
2020-04-28T01:07:42.4007220Z   local time: Tue Apr 28 01:07:42 UTC 2020
2020-04-28T01:07:42.6874714Z   network time: Tue, 28 Apr 2020 01:07:42 GMT
2020-04-28T01:07:42.6897237Z Starting sccache server...
2020-04-28T01:07:42.7696964Z configure: processing command line
2020-04-28T01:07:42.7697253Z configure: 
2020-04-28T01:07:42.7698199Z configure: rust.dist-src        := False
---
2020-04-28T01:10:11.6756950Z    Compiling unicode-width v0.1.6
2020-04-28T01:10:11.7563622Z    Compiling getopts v0.2.21
2020-04-28T01:10:21.6208823Z    Compiling test v0.0.0 (/checkout/src/libtest)
2020-04-28T01:10:29.6249612Z     Finished release [optimized] target(s) in 57.41s
2020-04-28T01:10:29.6253120Z {"reason":"build-finished","success":true}
2020-04-28T01:10:29.6483945Z Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T01:10:30.2430668Z    Compiling cfg-if v0.1.10
2020-04-28T01:10:30.2432509Z    Compiling libc v0.2.69
2020-04-28T01:10:30.2848483Z    Compiling semver-parser v0.7.0
---
2020-04-28T01:12:53.7834498Z    Compiling rustc_feature v0.0.0 (/checkout/src/librustc_feature)
2020-04-28T01:12:55.1337504Z    Compiling fmt_macros v0.0.0 (/checkout/src/libfmt_macros)
2020-04-28T01:12:56.6083888Z    Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
2020-04-28T01:12:57.5136140Z    Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
2020-04-28T01:13:06.1795836Z    Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
2020-04-28T01:13:08.5403395Z    Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
2020-04-28T01:13:12.8665974Z    Compiling rustc_attr v0.0.0 (/checkout/src/librustc_attr)
2020-04-28T01:13:16.7506126Z    Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
2020-04-28T01:13:25.6878322Z    Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
2020-04-28T01:26:46.8167157Z    Compiling rustc_privacy v0.0.0 (/checkout/src/librustc_privacy)
2020-04-28T01:27:14.2466811Z    Compiling rustc_plugin_impl v0.0.0 (/checkout/src/librustc_plugin_impl)
2020-04-28T01:30:03.1933629Z    Compiling rustc-main v0.0.0 (/checkout/src/rustc)
2020-04-28T01:30:03.7605153Z     Finished release [optimized] target(s) in 19m 34s
2020-04-28T01:30:03.7608841Z {"reason":"build-finished","success":true}
2020-04-28T01:30:03.8157546Z Assembling stage1 compiler (x86_64-unknown-linux-gnu)
2020-04-28T01:30:03.8179107Z Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T01:30:04.0857620Z    Compiling cc v1.0.50
2020-04-28T01:30:04.0858392Z    Compiling core v0.0.0 (/checkout/src/libcore)
---
2020-04-28T01:30:43.6227807Z    Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro)
2020-04-28T01:30:47.5218739Z    Compiling unicode-width v0.1.6
2020-04-28T01:30:47.6103294Z    Compiling getopts v0.2.21
2020-04-28T01:30:58.3826836Z    Compiling test v0.0.0 (/checkout/src/libtest)
2020-04-28T01:31:06.8551761Z    {"reason":"build-finished","success":true}
2020-04-28T01:31:06.8673497Z Copying stage1 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
2020-04-28T01:31:06.8691867Z Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T01:31:07.4217497Z    Compiling cfg-if v0.1.10
2020-04-28T01:31:07.4218013Z    Compiling libc v0.2.69
---
2020-04-28T01:33:36.8748464Z    Compiling rustc_feature v0.0.0 (/checkout/src/librustc_feature)
2020-04-28T01:33:38.2050296Z    Compiling fmt_macros v0.0.0 (/checkout/src/libfmt_macros)
2020-04-28T01:33:39.4978318Z    Compiling rustc_ast_pretty v0.0.0 (/checkout/src/librustc_ast_pretty)
2020-04-28T01:33:39.7852861Z    Compiling rustc_hir v0.0.0 (/checkout/src/librustc_hir)
2020-04-28T01:33:48.6591923Z    Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
2020-04-28T01:33:50.9098787Z    Compiling rustc_hir_pretty v0.0.0 (/checkout/src/librustc_hir_pretty)
2020-04-28T01:33:55.1020637Z    Compiling rustc_attr v0.0.0 (/checkout/src/librustc_attr)
2020-04-28T01:33:58.9617067Z    Compiling rustc_parse v0.0.0 (/checkout/src/librustc_parse)
2020-04-28T01:34:07.8619733Z    Compiling rustc_ast_lowering v0.0.0 (/checkout/src/librustc_ast_lowering)
---
2020-04-28T01:47:14.3051463Z    Compiling rustc_traits v0.0.0 (/checkout/src/librustc_traits)
2020-04-28T01:48:32.6460348Z    Compiling rustc_privacy v0.0.0 (/checkout/src/librustc_privacy)
2020-04-28T01:48:34.8043223Z    Compiling rustc_plugin_impl v0.0.0 (/checkout/src/librustc_plugin_impl)
2020-04-28T01:50:58.8251148Z    Compiling rustc-main v0.0.0 (/checkout/src/rustc)
2020-04-28T01:50:59.4004598Z {"reason":"build-finished","success":true}
2020-04-28T01:50:59.4426450Z Copying stage1 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
2020-04-28T01:50:59.4459449Z Assembling stage2 compiler (x86_64-unknown-linux-gnu)
2020-04-28T01:50:59.4465816Z Uplifting stage1 std (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T01:50:59.4466689Z Copying stage2 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-04-28T01:51:59.6874583Z    Compiling serde_json v1.0.40
2020-04-28T01:52:00.8995006Z    Compiling rustfix v0.5.0
2020-04-28T01:52:03.5603108Z    Compiling compiletest v0.0.0 (/checkout/src/tools/compiletest)
2020-04-28T01:52:15.5102024Z     Finished release [optimized] target(s) in 1m 16s
2020-04-28T01:52:15.5103589Z {"reason":"build-finished","success":true}
2020-04-28T01:52:18.3830925Z 
2020-04-28T01:52:18.3831282Z running 9928 tests
2020-04-28T01:52:30.1767437Z .................................................................................................... 100/9928
2020-04-28T01:52:38.7368184Z .................................................................................................... 200/9928
---
2020-04-28T01:54:07.8209197Z .................................................................................................... 1700/9928
2020-04-28T01:54:11.7354811Z .................................................................................................... 1800/9928
2020-04-28T01:54:18.6373278Z .................................................................................................... 1900/9928
2020-04-28T01:54:25.9849549Z ........i........................................................................................... 2000/9928
2020-04-28T01:54:31.6962154Z ..................................................................................................ii 2100/9928
2020-04-28T01:54:43.2845941Z iii................................................................................................. 2200/9928
2020-04-28T01:54:50.9408855Z .................................................................................................... 2400/9928
2020-04-28T01:54:53.1038112Z .................................................................................................... 2500/9928
2020-04-28T01:54:58.2845795Z .................................................................................................... 2600/9928
2020-04-28T01:55:13.9998128Z .................................................................................................... 2700/9928
---
2020-04-28T01:57:37.4811548Z .................................................................................................... 5100/9928
2020-04-28T01:57:44.1975914Z .................................................................................................... 5200/9928
2020-04-28T01:57:48.7197137Z .....................i.............................................................................. 5300/9928
2020-04-28T01:57:57.8936959Z ............i....................................................................................... 5400/9928
2020-04-28T01:58:03.4204559Z .............ii.ii........i...i..................................................................... 5500/9928
2020-04-28T01:58:11.1666217Z ............................................................i....................................... 5700/9928
2020-04-28T01:58:19.0820249Z .............................................................................................ii..... 5800/9928
2020-04-28T01:58:25.2617914Z ................................i................................................................... 5900/9928
2020-04-28T01:58:30.4723465Z .................................................................................................... 6000/9928
2020-04-28T01:58:30.4723465Z .................................................................................................... 6000/9928
2020-04-28T01:58:39.8643525Z .................................................................................................... 6100/9928
2020-04-28T01:58:49.0453000Z ...........................ii...i..ii...........i................................................... 6200/9928
2020-04-28T01:59:03.8925049Z .................................................................................................... 6400/9928
2020-04-28T01:59:06.9575175Z .................................................................................................... 6500/9928
2020-04-28T01:59:06.9575175Z .................................................................................................... 6500/9928
2020-04-28T01:59:12.3579846Z .........................................................i..ii...................................... 6600/9928
2020-04-28T01:59:33.3274894Z .................................................................................................... 6800/9928
2020-04-28T01:59:37.3452969Z ..........................................................i......................................... 6900/9928
2020-04-28T01:59:39.2225107Z .................................................................................................... 7000/9928
2020-04-28T01:59:41.1080012Z .................................................................................................... 7100/9928
---
2020-04-28T02:01:06.4347353Z .................................................................................................... 7900/9928
2020-04-28T02:01:11.1224783Z .................................................................................................... 8000/9928
2020-04-28T02:01:16.9358151Z ....................................................................i............................... 8100/9928
2020-04-28T02:01:25.8618417Z .................................................................................................... 8200/9928
2020-04-28T02:01:30.6885105Z .................iiiiii.iiiii.i..................................................................... 8300/9928
2020-04-28T02:01:42.3937848Z .................................................................................................... 8500/9928
2020-04-28T02:01:47.4929541Z .................................................................................................... 8600/9928
2020-04-28T02:02:00.5063340Z .................................................................................................... 8700/9928
2020-04-28T02:02:06.7592919Z .................................................................................................... 8800/9928
---
2020-04-28T02:04:10.7486515Z bootstrap::test::Codegen" -- not in ["src/tools/tidy"]
2020-04-28T02:04:10.7672062Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:04:10.9561558Z 
2020-04-28T02:04:10.9562559Z running 186 tests
2020-04-28T02:04:13.5559432Z iiii......i.............ii.i..........i.............................i..i..................i....i.... 100/186
2020-04-28T02:04:15.8087015Z ........i.i.i...iii..iiiiiiiiiiiiiiii.......................iii...............ii......
2020-04-28T02:04:15.8093416Z 
2020-04-28T02:04:15.8093651Z  finished in 5.041
2020-04-28T02:04:15.8114726Z Suite("src/test/codegen-units") not skipped for "bootstrap::test::CodegenUnits" -- not in ["src/tools/tidy"]
2020-04-28T02:04:15.8281793Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-04-28T02:04:17.7908727Z Suite("src/test/assembly") not skipped for "bootstrap::test::Assembly" -- not in ["src/tools/tidy"]
2020-04-28T02:04:17.8076326Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:04:17.9494933Z 
2020-04-28T02:04:17.9495260Z running 9 tests
2020-04-28T02:04:17.9496293Z iiiiiiiii
2020-04-28T02:04:17.9497167Z 
2020-04-28T02:04:17.9501130Z  finished in 0.142
2020-04-28T02:04:17.9505559Z Suite("src/test/incremental") not skipped for "bootstrap::test::Incremental" -- not in ["src/tools/tidy"]
2020-04-28T02:04:17.9697427Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-04-28T02:04:36.7305738Z Suite("src/test/debuginfo") not skipped for "bootstrap::test::Debuginfo" -- not in ["src/tools/tidy"]
2020-04-28T02:04:36.7540294Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:04:36.9259920Z 
2020-04-28T02:04:36.9260503Z running 115 tests
2020-04-28T02:04:50.0762286Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii.........i.....i..i.......ii.i.ii.. 100/115
2020-04-28T02:04:51.7413902Z ...iiii.....ii.
2020-04-28T02:04:51.7419241Z 
2020-04-28T02:04:51.7424824Z  finished in 14.988
2020-04-28T02:04:51.7437615Z Suite("src/test/ui-fulldeps") not skipped for "bootstrap::test::UiFullDeps" -- not in ["src/tools/tidy"]
2020-04-28T02:04:51.7440789Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-04-28T02:15:01.2846203Z 
2020-04-28T02:15:01.2847379Z    Doc-tests core
2020-04-28T02:15:05.4160922Z 
2020-04-28T02:15:05.4168301Z running 2499 tests
2020-04-28T02:15:13.2244495Z ......iiiii......................................................................................... 100/2499
2020-04-28T02:15:21.0400883Z ......................................................................................ii............ 200/2499
2020-04-28T02:15:38.5162171Z ......................i............................................................................. 400/2499
2020-04-28T02:15:47.0540838Z ............................................................................i..i..................ii 500/2499
2020-04-28T02:15:53.6747422Z ii.................................................................................................. 600/2499
2020-04-28T02:16:01.1444399Z .................................................................................................... 700/2499
---
2020-04-28T02:19:26.6086925Z 
2020-04-28T02:19:26.6087057Z running 1020 tests
2020-04-28T02:19:40.4097723Z i................................................................................................... 100/1020
2020-04-28T02:19:49.6189357Z .................................................................................................... 200/1020
2020-04-28T02:19:55.7487601Z ...................iii......i......i...i......i..................................................... 300/1020
2020-04-28T02:19:59.8965902Z .................................................................................................... 400/1020
2020-04-28T02:20:05.6916004Z ....................................................i....i......................................ii.. 500/1020
2020-04-28T02:20:17.1275913Z .................................................................................................... 700/1020
2020-04-28T02:20:17.1275913Z .................................................................................................... 700/1020
2020-04-28T02:20:23.3797700Z ..............................................iiii.................................................. 800/1020
2020-04-28T02:20:35.1127867Z .................................................................................................... 900/1020
2020-04-28T02:20:40.7229023Z ....................................................................iiii............................ 1000/1020
2020-04-28T02:20:41.9012922Z test result: ok. 1000 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out
2020-04-28T02:20:41.9013385Z 
2020-04-28T02:20:41.9082230Z  finished in 140.244
2020-04-28T02:20:41.9086697Z Set({"src/libterm"}) not skipped for "bootstrap::test::Crate" -- not in ["src/tools/tidy"]
---
2020-04-28T02:23:19.1630909Z 
2020-04-28T02:23:19.1631332Z test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
2020-04-28T02:23:19.1631714Z 
2020-04-28T02:23:19.1684274Z  finished in 0.909
2020-04-28T02:23:19.1689898Z Set({"/checkout/src/librustc_query_system"}) not skipped for "bootstrap::test::CrateLibrustc" -- not in ["src/tools/tidy"]
2020-04-28T02:23:19.1706445Z Testing rustc_query_system stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:23:19.3797029Z    Compiling rustc_query_system v0.0.0 (/checkout/src/librustc_query_system)
2020-04-28T02:23:20.2555004Z      Running build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_query_system-d8460af61effbc39
2020-04-28T02:23:20.2583062Z 
2020-04-28T02:23:20.2583607Z running 0 tests
2020-04-28T02:23:20.2583972Z 
---
2020-04-28T02:28:05.6144929Z    Compiling cargo_metadata v0.9.1
2020-04-28T02:28:06.9595289Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2020-04-28T02:28:15.8975701Z    Compiling unstable-book-gen v0.1.0 (/checkout/src/tools/unstable-book-gen)
2020-04-28T02:28:17.3123686Z     Finished release [optimized] target(s) in 1m 09s
2020-04-28T02:28:17.3126891Z {"reason":"build-finished","success":true}
---
2020-04-28T02:34:01.4721381Z    Compiling ammonia v3.0.0
2020-04-28T02:34:02.0124226Z    Compiling mdbook v0.3.5
2020-04-28T02:34:23.9798341Z    Compiling rustbook v0.1.0 (/checkout/src/tools/rustbook)
2020-04-28T02:34:26.2562103Z     Finished release [optimized] target(s) in 6m 08s
2020-04-28T02:34:26.2563596Z {"reason":"build-finished","success":true}
2020-04-28T02:34:28.9412676Z Set({"src/tools/unstable-book-gen"}) not skipped for "bootstrap::doc::UnstableBookGen" -- not in ["src/tools/tidy"]
2020-04-28T02:34:28.9413734Z Set({"src/doc/book"}) not skipped for "bootstrap::doc::TheBook" -- not in ["src/tools/tidy"]
2020-04-28T02:34:28.9414407Z Rustbook (x86_64-unknown-linux-gnu) - book
2020-04-28T02:34:31.0345602Z Rustbook (x86_64-unknown-linux-gnu) - book/first-edition
---
2020-04-28T02:35:30.3415279Z Set({"/checkout/src/librustc_parse"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3415988Z Set({"/checkout/src/librustc_passes"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3416875Z Set({"/checkout/src/librustc_plugin_impl"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3417622Z Set({"/checkout/src/librustc_privacy"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3418453Z Set({"/checkout/src/librustc_query_system"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3419464Z Set({"/checkout/src/librustc_save_analysis"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3419960Z Set({"/checkout/src/librustc_session"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3420447Z Set({"/checkout/src/librustc_span"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
2020-04-28T02:35:30.3420963Z Set({"/checkout/src/librustc_symbol_mangling"}) not skipped for "bootstrap::doc::Rustc" -- not in ["src/tools/tidy"]
---
2020-04-28T02:35:30.5597281Z    Compiling same-file v1.0.4
2020-04-28T02:35:30.6462540Z    Compiling walkdir v2.2.7
2020-04-28T02:35:31.6473971Z    Compiling error_index_generator v0.0.0 (/checkout/src/tools/error_index_generator)
2020-04-28T02:35:36.1293760Z     Finished release [optimized] target(s) in 5.78s
2020-04-28T02:35:36.1296915Z {"reason":"build-finished","success":true}
2020-04-28T02:35:36.2687086Z Rustbook (x86_64-unknown-linux-gnu) - nomicon
2020-04-28T02:35:36.7307238Z Set({"src/doc/reference"}) not skipped for "bootstrap::doc::Reference" -- not in ["src/tools/tidy"]
2020-04-28T02:35:36.7315046Z Rustbook (x86_64-unknown-linux-gnu) - reference
2020-04-28T02:35:37.7041900Z Set({"src/doc/rustdoc"}) not skipped for "bootstrap::doc::RustdocBook" -- not in ["src/tools/tidy"]
---
2020-04-28T02:35:40.9802494Z Rustbook (x86_64-unknown-linux-gnu) - edition-guide
2020-04-28T02:35:41.3426063Z Building stage0 tool linkchecker (x86_64-unknown-linux-gnu)
2020-04-28T02:35:41.5144805Z    Compiling linkchecker v0.1.0 (/checkout/src/tools/linkchecker)
2020-04-28T02:35:42.7986596Z     Finished release [optimized] target(s) in 1.45s
2020-04-28T02:35:42.7987921Z {"reason":"build-finished","success":true}
2020-04-28T02:35:49.0579260Z Set({"src/tools/error_index_generator"}) not skipped for "bootstrap::test::ErrorIndex" -- not in ["src/tools/tidy"]
2020-04-28T02:35:49.0580194Z Testing error-index stage2
2020-04-28T02:35:49.0772633Z doc tests for: /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md
2020-04-28T02:36:26.2154563Z  finished in 37.157
2020-04-28T02:36:26.2154563Z  finished in 37.157
2020-04-28T02:36:26.2160789Z Suite("src/test/run-make-fulldeps") not skipped for "bootstrap::test::RunMakeFullDeps" -- not in ["src/tools/tidy"]
2020-04-28T02:36:26.2530436Z Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:36:26.4419410Z 
2020-04-28T02:36:26.4419814Z running 211 tests
2020-04-28T02:36:52.5458917Z ......................i...ii.......................................................................i 100/211
2020-04-28T02:37:25.0268967Z ........................................iiiiii......i..............iii.............................. 200/211
2020-04-28T02:37:29.8346053Z .......ii..
2020-04-28T02:37:29.8347919Z 
2020-04-28T02:37:29.8352906Z  finished in 63.582
2020-04-28T02:37:29.8359269Z Set({"src/doc/rustdoc"}) not skipped for "bootstrap::test::RustdocBook" -- not in ["src/tools/tidy"]
2020-04-28T02:37:29.8364954Z doc tests for: /checkout/src/doc/rustdoc/src/advanced-features.md
---
2020-04-28T02:37:42.5391466Z doc tests for: /checkout/src/doc/rustc/src/targets/index.md
2020-04-28T02:37:42.5570277Z doc tests for: /checkout/src/doc/rustc/src/what-is-rustc.md
2020-04-28T02:37:42.6968095Z  finished in 3.987
2020-04-28T02:37:42.6973105Z Set({"src/test/rustdoc-js-std"}) not skipped for "bootstrap::test::RustdocJSStd" -- not in ["src/tools/tidy"]
2020-04-28T02:37:43.4037941Z Checking "alias-1" ... OK
2020-04-28T02:37:43.4595468Z Checking "alias-2" ... OK
2020-04-28T02:37:43.5078965Z Checking "alias-3" ... OK
2020-04-28T02:37:43.5727008Z Checking "alias" ... OK
2020-04-28T02:37:43.6671325Z Checking "basic" ... OK
2020-04-28T02:37:43.7450296Z Checking "deduplication" ... OK
2020-04-28T02:37:43.7989031Z Checking "enum-option" ... OK
2020-04-28T02:37:43.8573752Z Checking "filter-crate" ... OK
2020-04-28T02:37:43.9057561Z Checking "fn-forget" ... OK
2020-04-28T02:37:43.9774789Z Checking "from_u" ... OK
2020-04-28T02:37:44.0389303Z Checking "keyword" ... OK
2020-04-28T02:37:44.0832821Z Checking "macro-check" ... OK
2020-04-28T02:37:44.1116590Z Checking "macro-print" ... OK
2020-04-28T02:37:44.1828679Z Checking "multi-query" ... OK
2020-04-28T02:37:44.2095871Z Checking "never" ... OK
2020-04-28T02:37:44.2248393Z Checking "quoted" ... OK
2020-04-28T02:37:44.2439277Z Checking "return-specific-literal" ... OK
2020-04-28T02:37:44.3261278Z Checking "return-specific" ... OK
2020-04-28T02:37:44.3920497Z Checking "should-fail" ... OK
2020-04-28T02:37:44.4869709Z Checking "string-from_ut" ... OK
2020-04-28T02:37:44.5360322Z Checking "struct-vec" ... OK
2020-04-28T02:37:44.6239401Z Checking "vec-new" ... OK
2020-04-28T02:37:44.6470125Z Check compiletest suite=rustdoc-js mode=js-doc-test (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:37:44.8030551Z 
2020-04-28T02:37:44.8030905Z running 6 tests
2020-04-28T02:37:49.7329327Z ......
2020-04-28T02:37:49.7329327Z ......
2020-04-28T02:37:49.7330180Z test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
2020-04-28T02:37:49.7330397Z 
2020-04-28T02:37:49.7335156Z  finished in 5.086
2020-04-28T02:37:49.7348315Z Set({"src/tools/rustdoc-themes"}) not skipped for "bootstrap::test::RustdocTheme" -- not in ["src/tools/tidy"]
2020-04-28T02:37:49.7357470Z Building stage0 tool rustdoc-themes (x86_64-unknown-linux-gnu)
2020-04-28T02:37:49.9245995Z    Compiling rustdoc-themes v0.1.0 (/checkout/src/tools/rustdoc-themes)
2020-04-28T02:37:50.5431323Z     Finished{"reason":"build-finished","success":true}
2020-04-28T02:37:50.5689973Z rustdoc: [check-theme] Starting tests! (Ignoring all other arguments)
2020-04-28T02:37:50.5694951Z  - Checking "/checkout/src/librustdoc/html/static/themes/dark.css"... OK
2020-04-28T02:37:50.5713542Z Set({"src/test/rustdoc-ui"}) not skipped for "bootstrap::test::RustdocUi" -- not in ["src/tools/tidy"]
2020-04-28T02:37:50.5889311Z Check compiletest suite=rustdoc-ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2020-04-28T02:38:47.6305138Z Suite("src/test/run-make") not skipped for "bootstrap::test::RunMake" -- not in ["src/tools/tidy"]
2020-04-28T02:38:47.6504137Z Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:47.7953892Z 
2020-04-28T02:38:47.7954284Z running 13 tests
2020-04-28T02:38:48.1703359Z .iiiiiii.iii.
2020-04-28T02:38:48.1704267Z 
2020-04-28T02:38:48.1707586Z  finished in 0.520
2020-04-28T02:38:48.1766626Z Build completed successfully in 1:29:17
2020-04-28T02:38:48.1766626Z Build completed successfully in 1:29:17
2020-04-28T02:38:48.1776487Z + python2.7 ../x.py test src/test/mir-opt --pass=build --target=armv5te-unknown-linux-gnueabi
2020-04-28T02:38:49.4768036Z Building stage0 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:49.7023601Z     Finished release [optimized] target(s) in 0.22s
2020-04-28T02:38:49.7023601Z     Finished release [optimized] target(s) in 0.22s
2020-04-28T02:38:49.7036791Z {"reason":"build-finished","success":true}
2020-04-28T02:38:49.7232402Z Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:50.0478389Z     Finished release [optimized] target(s) in 0.32s
2020-04-28T02:38:50.0478389Z     Finished release [optimized] target(s) in 0.32s
2020-04-28T02:38:50.0481421Z {"reason":"build-finished","success":true}
2020-04-28T02:38:50.0965817Z Assembling stage1 compiler (x86_64-unknown-linux-gnu)
2020-04-28T02:38:50.0985403Z Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:50.3010286Z     Finished release [optimized] target(s) in 0.19s
2020-04-28T02:38:50.3010286Z     Finished release [optimized] target(s) in 0.19s
2020-04-28T02:38:50.3010860Z {"reason":"build-finished","success":true}
2020-04-28T02:38:50.3130007Z Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:50.3130007Z Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:38:51.1044927Z  {"reason":"build-finished","success":true}
2020-04-28T02:38:51.2335469Z Copying stage1 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
2020-04-28T02:38:51.2380582Z Assembling stage2 compiler (x86_64-unknown-linux-gnu)
2020-04-28T02:38:51.2898712Z Building stage2 std artifacts (x86_64-unknown-linux-gnu -> armv5te-unknown-linux-gnueabi)
2020-04-28T02:38:51.5547396Z    Compiling cc v1.0.50
---
2020-04-28T02:39:31.6083023Z    Compiling unicode-width v0.1.6
2020-04-28T02:39:31.6865808Z    Compiling getopts v0.2.21
2020-04-28T02:39:43.4411584Z    Compiling test v0.0.0 (/checkout/src/libtest)
2020-04-28T02:39:51.5000777Z     Finished release [optimized] target(s) in 1m 00s
2020-04-28T02:39:51.5001330Z {"reason":"build-finished","success":true}
2020-04-28T02:39:51.5131381Z Uplifting stage1 std (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-04-28T02:39:51.5132567Z Copying stage2 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
2020-04-28T02:39:51.5137016Z Building test helpers
2020-04-28T02:39:51.5141118Z running: "arm-linux-gnueabi-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv5te" "-marm" "-mfloat-abi=soft" "-o" "/checkout/obj/build/armv5te-unknown-linux-gnueabi/native/rust-test-helpers/rust_test_helpers.o" "-c" "/checkout/src/test/auxiliary/rust_test_helpers.c"
2020-04-28T02:39:51.5141118Z running: "arm-linux-gnueabi-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv5te" "-marm" "-mfloat-abi=soft" "-o" "/checkout/obj/build/armv5te-unknown-linux-gnueabi/native/rust-test-helpers/rust_test_helpers.o" "-c" "/checkout/src/test/auxiliary/rust_test_helpers.c"
2020-04-28T02:39:51.5580664Z exit code: 0
2020-04-28T02:39:51.5582254Z running: "arm-linux-gnueabi-ar" "crs" "/checkout/obj/build/armv5te-unknown-linux-gnueabi/native/rust-test-helpers/librust_test_helpers.a" "/checkout/obj/build/armv5te-unknown-linux-gnueabi/native/rust-test-helpers/rust_test_helpers.o"
2020-04-28T02:39:51.5598555Z exit code: 0
2020-04-28T02:39:51.5669768Z Building stage0 tool compiletest (x86_64-unknown-linux-gnu)
2020-04-28T02:39:51.7606071Z     Finished release [optimized] target(s) in 0.19s
2020-04-28T02:39:51.7610519Z {"reason":"build-finished","success":true}
2020-04-28T02:39:51.9565471Z 
2020-04-28T02:39:51.9565851Z running 96 tests
2020-04-28T02:40:00.1550989Z ..............F.............................................................F...................
2020-04-28T02:40:00.1553418Z failures:
2020-04-28T02:40:00.1553418Z failures:
2020-04-28T02:40:00.1553831Z 
2020-04-28T02:40:00.1554959Z ---- [mir-opt] mir-opt/const_prop/bad_op_unsafe_oob_for_slices.rs stdout ----
2020-04-28T02:40:00.1555350Z 42           _6 = const 3usize;               // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:23: 6:24
2020-04-28T02:40:00.1555754Z 43                                            // ty::Const
2020-04-28T02:40:00.1556040Z 44                                            // + ty: usize
2020-04-28T02:40:00.1556601Z -                                            // + val: Value(Scalar(0x0000000000000003))
2020-04-28T02:40:00.1557003Z +                                            // + val: Value(Scalar(0x00000003))
2020-04-28T02:40:00.1557334Z 46                                            // mir::Constant
2020-04-28T02:40:00.1557758Z 47                                            // + span: $DIR/bad_op_unsafe_oob_for_slices.rs:6:23: 6:24
2020-04-28T02:40:00.1558530Z -                                            // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
2020-04-28T02:40:00.1559180Z +                                            // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
2020-04-28T02:40:00.1559869Z 49 -         _7 = Len((*_1));                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:18: 6:25
2020-04-28T02:40:00.1560707Z 50 -         _8 = Lt(_6, _7);                 // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:18: 6:25
2020-04-28T02:40:00.1561099Z 51 +         _7 = const 3usize;               // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:18: 6:25
2020-04-28T02:40:00.1561689Z 52 +                                          // ty::Const
2020-04-28T02:40:00.1561969Z 53 +                                          // + ty: usize
2020-04-28T02:40:00.1561969Z 53 +                                          // + ty: usize
2020-04-28T02:40:00.1562808Z - +                                          // + val: Value(Scalar(0x0000000000000003))
2020-04-28T02:40:00.1563193Z + +                                          // + val: Value(Scalar(0x00000003))
2020-04-28T02:40:00.1563711Z 55 +                                          // mir::Constant
2020-04-28T02:40:00.1564132Z 56 +                                          // + span: $DIR/bad_op_unsafe_oob_for_slices.rs:6:18: 6:25
2020-04-28T02:40:00.1564948Z - +                                          // + literal: Const { ty: usize, val: Value(Scalar(0x0000000000000003)) }
2020-04-28T02:40:00.1565532Z + +                                          // + literal: Const { ty: usize, val: Value(Scalar(0x00000003)) }
2020-04-28T02:40:00.1566035Z 58 +         _8 = const false;                // scope 2 at $DIR/bad_op_unsafe_oob_for_slices.rs:6:18: 6:25
2020-04-28T02:40:00.1566421Z 59 +                                          // ty::Const
2020-04-28T02:40:00.1566740Z 60 +                                          // + ty: bool
2020-04-28T02:40:00.1566928Z 
2020-04-28T02:40:00.1567860Z thread '[mir-opt] mir-opt/const_prop/bad_op_unsafe_oob_for_slices.rs' panicked at 'Actual MIR output differs from expected MIR output /checkout/src/test/mir-opt/const_prop/bad_op_unsafe_oob_for_slices/rustc.main.ConstProp.diff', src/tools/compiletest/src/runtest.rs:3165:25
2020-04-28T02:40:00.1568719Z 
2020-04-28T02:40:00.1569113Z ---- [mir-opt] mir-opt/simplify-arm-identity.rs stdout ----
2020-04-28T02:40:00.1569345Z 18       }
2020-04-28T02:40:00.1569479Z 19   
2020-04-28T02:40:00.1569479Z 19   
2020-04-28T02:40:00.1569631Z 20       bb0: {
2020-04-28T02:40:00.1570257Z -           StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
2020-04-28T02:40:00.1571068Z -           ((_1 as Foo).0: u8) = const 0u8; // bb0[1]: scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
2020-04-28T02:40:00.1571815Z +           StorageLive(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:18:9: 18:10
2020-04-28T02:40:00.1572517Z +           ((_1 as Foo).0: u8) = const 0u8; // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
2020-04-28T02:40:00.1572903Z 23                                            // ty::Const
2020-04-28T02:40:00.1573198Z 24                                            // + ty: u8
2020-04-28T02:40:00.1573547Z 25                                            // + val: Value(Scalar(0x00))
2020-04-28T02:40:00.1573983Z 26                                            // mir::Constant
2020-04-28T02:40:00.1573983Z 26                                            // mir::Constant
2020-04-28T02:40:00.1574635Z 27                                            // + span: $DIR/simplify-arm-identity.rs:18:27: 18:28
2020-04-28T02:40:00.1575147Z 28                                            // + literal: Const { ty: u8, val: Value(Scalar(0x00)) }
2020-04-28T02:40:00.1575913Z -           discriminant(_1) = 0;            // bb0[2]: scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
2020-04-28T02:40:00.1576728Z -           StorageLive(_2);                 // bb0[3]: scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
2020-04-28T02:40:00.1577510Z -           _3 = const 0isize;               // bb0[4]: scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
2020-04-28T02:40:00.1578231Z +           discriminant(_1) = 0;            // scope 0 at $DIR/simplify-arm-identity.rs:18:18: 18:29
2020-04-28T02:40:00.1578908Z +           StorageLive(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:19:18: 22:6
2020-04-28T02:40:00.1579571Z +           _3 = const 0isize;               // scope 1 at $DIR/simplify-arm-identity.rs:20:9: 20:20
2020-04-28T02:40:00.1579957Z 32                                            // ty::Const
2020-04-28T02:40:00.1580258Z 33                                            // + ty: isize
2020-04-28T02:40:00.1580611Z 34                                            // + val: Value(Scalar(0x00000000))
2020-04-28T02:40:00.1581142Z 35                                            // mir::Constant
2020-04-28T02:40:00.1581142Z 35                                            // mir::Constant
2020-04-28T02:40:00.1581895Z 36                                            // + span: $DIR/simplify-arm-identity.rs:20:9: 20:20
2020-04-28T02:40:00.1582390Z 37                                            // + literal: Const { ty: isize, val: Value(Scalar(0x00000000)) }
2020-04-28T02:40:00.1583164Z -           _4 = ((_1 as Foo).0: u8);        // bb0[5]: scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
2020-04-28T02:40:00.1583919Z -           ((_2 as Foo).0: u8) = move _4;   // bb0[6]: scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
2020-04-28T02:40:00.1584678Z -           discriminant(_2) = 0;            // bb0[7]: scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
2020-04-28T02:40:00.1585402Z -           StorageDead(_2);                 // bb0[8]: scope 1 at $DIR/simplify-arm-identity.rs:22:6: 22:7
2020-04-28T02:40:00.1586124Z -           _0 = const ();                   // bb0[9]: scope 0 at $DIR/simplify-arm-identity.rs:17:11: 23:2
2020-04-28T02:40:00.1586834Z +           _4 = ((_1 as Foo).0: u8);        // scope 1 at $DIR/simplify-arm-identity.rs:20:18: 20:19
2020-04-28T02:40:00.1587478Z +           ((_2 as Foo).0: u8) = move _4;   // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
2020-04-28T02:40:00.1589214Z +           discriminant(_2) = 0;            // scope 3 at $DIR/simplify-arm-identity.rs:20:24: 20:35
2020-04-28T02:40:00.1590019Z +           StorageDead(_2);                 // scope 1 at $DIR/simplify-arm-identity.rs:22:6: 22:7
2020-04-28T02:40:00.1590556Z +           _0 = const ();                   // scope 0 at $DIR/simplify-arm-identity.rs:17:11: 23:2
2020-04-28T02:40:00.1590858Z 43                                            // ty::Const
2020-04-28T02:40:00.1591110Z 44                                            // + ty: ()
2020-04-28T02:40:00.1591490Z 45                                            // + val: Value(Scalar(<ZST>))
2020-04-28T02:40:00.1591817Z 46                                            // mir::Constant
2020-04-28T02:40:00.1591817Z 46                                            // mir::Constant
2020-04-28T02:40:00.1592435Z 47                                            // + span: $DIR/simplify-arm-identity.rs:17:11: 23:2
2020-04-28T02:40:00.1592848Z 48                                            // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
2020-04-28T02:40:00.1593769Z -           StorageDead(_1);                 // bb0[10]: scope 0 at $DIR/simplify-arm-identity.rs:23:1: 23:2
2020-04-28T02:40:00.1594547Z -           return;                          // bb0[11]: scope 0 at $DIR/simplify-arm-identity.rs:23:2: 23:2
2020-04-28T02:40:00.1595260Z +           StorageDead(_1);                 // scope 0 at $DIR/simplify-arm-identity.rs:23:1: 23:2
2020-04-28T02:40:00.1595935Z +           return;                          // scope 0 at $DIR/simplify-arm-identity.rs:23:2: 23:2
2020-04-28T02:40:00.1596363Z 52   }
2020-04-28T02:40:00.1596505Z 53   
2020-04-28T02:40:00.1596606Z 
2020-04-28T02:40:00.1596606Z 
2020-04-28T02:40:00.1597472Z thread '[mir-opt] mir-opt/simplify-arm-identity.rs' panicked at 'Actual MIR output differs from expected MIR output /checkout/src/test/mir-opt/simplify-arm-identity/32bit/rustc.main.SimplifyArmIdentity.diff', src/tools/compiletest/src/runtest.rs:3165:25
2020-04-28T02:40:00.1598049Z 
2020-04-28T02:40:00.1598181Z failures:
2020-04-28T02:40:00.1598181Z failures:
2020-04-28T02:40:00.1598601Z     [mir-opt] mir-opt/const_prop/bad_op_unsafe_oob_for_slices.rs
2020-04-28T02:40:00.1599229Z 
2020-04-28T02:40:00.1599731Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:348:22
2020-04-28T02:40:00.1600351Z test result: FAILED. 94 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out
2020-04-28T02:40:00.1600583Z 
2020-04-28T02:40:00.1600583Z 
2020-04-28T02:40:00.1600677Z 
2020-04-28T02:40:00.1600767Z 
2020-04-28T02:40:00.1614301Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/armv5te-unknown-linux-gnueabi/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/mir-opt" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/mir-opt" "--stage-id" "stage2-armv5te-unknown-linux-gnueabi" "--mode" "mir-opt" "--target" "armv5te-unknown-linux-gnueabi" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-8/bin/FileCheck" "--pass" "build" "--nodejs" "/usr/bin/node" "--linker" "arm-linux-gnueabi-gcc" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/armv5te-unknown-linux-gnueabi/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "8.0.0" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2020-04-28T02:40:00.1616634Z 
2020-04-28T02:40:00.1616738Z 
2020-04-28T02:40:00.1616738Z 
2020-04-28T02:40:00.1617364Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/test/mir-opt --pass=build --target=armv5te-unknown-linux-gnueabi
2020-04-28T02:40:00.1666270Z == clock drift check ==
2020-04-28T02:40:00.1666270Z == clock drift check ==
2020-04-28T02:40:00.1687710Z   local time: Tue Apr 28 02:40:00 UTC 2020
2020-04-28T02:40:00.3353916Z   network time: Tue, 28 Apr 2020 02:40:00 GMT
2020-04-28T02:40:02.7612065Z 
2020-04-28T02:40:02.7612065Z 
2020-04-28T02:40:02.7650173Z ##[error]Bash exited with code '1'.
2020-04-28T02:40:02.7673167Z ##[section]Finishing: Run build
2020-04-28T02:40:02.7720275Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/71518/merge to s
2020-04-28T02:40:02.7725428Z Task         : Get sources
2020-04-28T02:40:02.7725738Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-04-28T02:40:02.7726024Z Version      : 1.0.0
2020-04-28T02:40:02.7726247Z Author       : Microsoft
2020-04-28T02:40:02.7726247Z Author       : Microsoft
2020-04-28T02:40:02.7726576Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-04-28T02:40:02.7726941Z ==============================================================================
2020-04-28T02:40:03.6851487Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-04-28T02:40:03.6899596Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/71518/merge to s
2020-04-28T02:40:03.6984923Z Cleaning up task key
2020-04-28T02:40:03.6986146Z Start cleaning up orphan processes.
2020-04-28T02:40:03.7165752Z Terminate orphan process: pid (3476) (python)
2020-04-28T02:40:03.7416050Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @rust-lang/infra. (Feature Requests)

@felix91gr
Copy link
Contributor Author

Oh. Of course, the OOB test has to fail because it uses indices, which are usize. Kay, brb, fixing that.

Copy link
Member

@wesleywiser wesleywiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful! Thanks so much for working on this 👍

@wesleywiser
Copy link
Member

@bors r+ rollup=never

@bors
Copy link
Contributor

bors commented Apr 28, 2020

📌 Commit 16ebaf9 has been approved by wesleywiser

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 28, 2020
@Dylan-DPC-zz
Copy link

@bors p=1

@bors
Copy link
Contributor

bors commented Apr 29, 2020

⌛ Testing commit 16ebaf9 with merge 9201998...

@bors
Copy link
Contributor

bors commented Apr 29, 2020

☀️ Test successful - checks-azure
Approved by: wesleywiser
Pushing 9201998 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Apr 29, 2020
@bors bors merged commit 9201998 into rust-lang:master Apr 29, 2020
matthiaskrgr added a commit to matthiaskrgr/rust-clippy that referenced this pull request Apr 29, 2020
update test output
bors added a commit to rust-lang/rust-clippy that referenced this pull request Apr 29, 2020
flip1995 added a commit to flip1995/rust-clippy that referenced this pull request Apr 29, 2020
bors added a commit to rust-lang/rust-clippy that referenced this pull request Apr 29, 2020
@felix91gr
Copy link
Contributor Author

⛵️

@felix91gr felix91gr deleted the const_prop_bugfix_just_block_prop branch April 29, 2020 14:58
ThibsG pushed a commit to ThibsG/rust-clippy that referenced this pull request May 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants