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

Cleanup from lexical MIR borrowck removal #55959

Merged
merged 3 commits into from Nov 25, 2018

Conversation

Projects
None yet
7 participants
@matthewjasper
Contributor

matthewjasper commented Nov 14, 2018

Lexical MIR borrowck was removed months ago now, and EndRegions are no longer used for MIRI verification.

  • Remove rustc::mir::StatementKind::EndRegion and the -Zemit_end_regions flag
  • Use RegionVid instead of Region in BorrowSet
  • Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis

@matthewjasper matthewjasper force-pushed the matthewjasper:remove-end-region branch from 0f1ca14 to efd126f Nov 14, 2018

@Mark-Simulacrum

This comment has been minimized.

Member

Mark-Simulacrum commented Nov 14, 2018

The last commits sound potentially perf-sensitive, so @bors try

@bors

This comment has been minimized.

Contributor

bors commented Nov 14, 2018

⌛️ Trying commit efd126f with merge 5247df0...

bors added a commit that referenced this pull request Nov 14, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=<try>
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@bors

This comment has been minimized.

Contributor

bors commented Nov 15, 2018

☀️ Test successful - status-travis
State: approved= try=True

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 15, 2018

@rust-timer

This comment has been minimized.

rust-timer commented Nov 15, 2018

Success: Queued 5247df0 with parent 6f93e93, comparison URL.

@rust-timer

This comment has been minimized.

rust-timer commented Nov 15, 2018

Finished benchmarking try commit 5247df0

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 15, 2018

Looks pretty green to me except serde-check which is +1.4%

@matthewjasper matthewjasper force-pushed the matthewjasper:remove-end-region branch from dddf04d to 1335c18 Nov 15, 2018

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 15, 2018

Added a somewhat speculative performance fix, but it looks OK locally.
@bors try

@bors

This comment has been minimized.

Contributor

bors commented Nov 15, 2018

⌛️ Trying commit 1335c18 with merge 9090986...

bors added a commit that referenced this pull request Nov 15, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=<try>
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 15, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (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.
travis_time:end:01f53b64:start=1542321736995365724,finish=1542321739157976333,duration=2162610609
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---

[00:03:50] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:03:51] tidy error: /checkout/src/librustc_mir/build/scope.rs:480: line longer than 100 chars
[00:03:52] some tidy checks failed
[00:03:52] 
[00:03:52] 
[00:03:52] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:03:52] 
[00:03:52] 
[00:03:52] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:03:52] Build completed unsuccessfully in 0:00:50
[00:03:52] Build completed unsuccessfully in 0:00:50
[00:03:52] make: *** [tidy] Error 1
[00:03:52] Makefile:79: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:192ba6d8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Thu Nov 15 22:46:21 UTC 2018
---
travis_time:end:11a11240:start=1542321981829225769,finish=1542321981834707893,duration=5482124
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:01479cc0
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:2ce7f154
travis_time:start:2ce7f154
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:03112f45
$ dmesg | grep -i kill

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 @TimNN. (Feature Requests)

@matthewjasper matthewjasper force-pushed the matthewjasper:remove-end-region branch from 1335c18 to 4f0b256 Nov 15, 2018

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 15, 2018

@bors try

@bors

This comment has been minimized.

Contributor

bors commented Nov 15, 2018

⌛️ Trying commit 4f0b256 with merge 6f6b42d...

bors added a commit that referenced this pull request Nov 15, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=<try>
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 16, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (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.
travis_time:end:08df50cd:start=1542325696006758539,finish=1542325698385676566,duration=2378918027
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:21:29] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:21:29] 
[00:21:29] note: rustc 1.32.0-dev running on x86_64-unknown-linux-gnu
[00:21:29] 
[00:21:29] note: compiler flags: -Z force-unstable-if-unmarked -C opt-level=2 -C prefer-dynamic -C debug-assertions=y -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
[00:21:29] note: some of the compiler flags provided by cargo are hidden
[00:21:29] 
[00:21:29] error: Could not compile `core`.
[00:21:29] 
[00:21:29] 
[00:21:29] To learn more, run the command again with --verbose.
[00:21:29] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json"
[00:21:29] expected success, got: exit code: 101
[00:21:29] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1101:9
[00:21:29] travis_fold:end:stage1-std

[00:21:29] travis_time:end:stage1-std:start=1542326961861359225,finish=1542326997285564274,duration=35424205049

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 @TimNN. (Feature Requests)

@bors

This comment has been minimized.

Contributor

bors commented Nov 16, 2018

☀️ Test successful - status-travis
State: approved= try=True

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 16, 2018

@rust-timer

This comment has been minimized.

rust-timer commented Nov 16, 2018

Insufficient permissions to issue commands to rust-timer.

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 16, 2018

@rust-timer

This comment has been minimized.

rust-timer commented Nov 16, 2018

Success: Queued 6f6b42d with parent 6b9b97b, comparison URL.

@nikomatsakis

r=me but tests are failing for some reason?

mir::TerminatorKind::Return |
mir::TerminatorKind::GeneratorDrop => {
// When we return from the function, then all `ReScope`-style regions
// are guaranteed to have ended.

This comment has been minimized.

@nikomatsakis

nikomatsakis Nov 16, 2018

Contributor

nice, lots of dead code

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 16, 2018

Looks like the performance issue was elsewhere as well.

@matthewjasper matthewjasper force-pushed the matthewjasper:remove-end-region branch from 4f0b256 to 1bc2b8d Nov 18, 2018

Remove mir::StatementKind::EndRegion
Since lexical MIR borrow check is gone, and validation no longer uses
these, they can be removed.
@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 18, 2018

The job x86_64-gnu-llvm-5.0 of your PR failed on Travis (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.
travis_time:end:05feb51c:start=1542539309924564381,finish=1542539312065556592,duration=2140992211
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:50:46] .................................................................................................... 100/5022
[00:50:49] .................................................................................................... 200/5022
[00:50:52] .............................ii............................................ii...................ii.. 300/5022
[00:50:55] ..............................................................................................iii... 400/5022
[00:50:58] .....iiiiiiii.iii............................iii...........................................i........ 500/5022
[00:51:05] .................................................................................................... 700/5022
[00:51:11] .................................................................................i...........i...... 800/5022
[00:51:15] .................................................................................................... 900/5022
[00:51:18] iiiii..................ii.iiii...................................................................... 1000/5022
---
[00:51:54] .................................................................................................... 2200/5022
[00:51:59] .................................................................................................... 2300/5022
[00:52:03] .................................................................................................... 2400/5022
[00:52:06] .................................................................................................... 2500/5022
[00:52:10] .................................................................................iiiiiiiii.......... 2600/5022
[00:52:17] ...............................................ii................................................... 2800/5022
[00:52:20] .................................................................................................... 2900/5022
[00:52:24] .................................................................................................... 3000/5022
[00:52:27] ..........................................i......................................................... 3100/5022
---
[00:53:57] .................................................................................................... 300/2884
[00:54:09] .................................................................................................... 400/2884
[00:54:18] .................................................................................................... 500/2884
[00:54:29] .................................................................................................... 600/2884
[00:54:44] ............................FF...................................................................... 700/2884
[00:54:55] .................................................................................................... 800/2884
[00:55:05] ...............................F.................................................................... 900/2884
[00:55:33] .................................................................................................... 1100/2884
[00:55:42] .................................................................................................... 1200/2884
[00:55:51] .................................................................................................... 1300/2884
[00:56:04] ..............................................................................i..................... 1400/2884
---
[00:59:38] failures:
[00:59:38] 
[00:59:38] ---- [run-pass] run-pass/drop/dynamic-drop.rs#lexical stdout ----
[00:59:38] 
[00:59:38] error in revision `lexical`: test run failed!
[00:59:38] status: signal: 4
[00:59:38] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/drop/dynamic-drop.lexical/a"
[00:59:38] ------------------------------------------
[00:59:38] 
[00:59:38] ------------------------------------------
[00:59:38] stderr:
[00:59:38] stderr:
[00:59:38] ------------------------------------------
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/d panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-paspass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'missing free: [true, false]', /checkout/src/test/run-pass/drop/dynamic-drop.rs:42:13
[00:59:38] thread 'main' panicked at 'missing free: [true, false]', /checkout/src/test/run-pass/drop/dynamic-drop.rs:42:13
[00:59:38] stack backtrace:
[00:59:38]    0:     0x7f2e2a31fe63 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h85e3a547bfeb3499
[00:59:38]    1:     0x7f2e2a316f68 - std::sys_common::backtrace::_print::h345e53235c3c4217
[00:59:38]    2:     0x7f2e2a31c5b0 - std::panicking::default_hook::{{closure}}::h51afb1efda32ec18
[00:59:38]    3:     0x7f2e2a31c287 - std::panicking::default_hook::hd81881f8c9effee8
[00:59:38]    4:     0x7f2e2a31cd8a - std::panicking::rust_panic_with_hook::h020097611d33156d
[00:59:38]    5:     0x7f2e2a31c949 - std::panicking::continue_panic_fmt::hf8b038a62bdee60d
[00:59:38]    6:     0x7f2e2a31c8ad - std::panicking::begin_panic_fmt::h570839826960e210
[00:59:38]    7:     0x56000da84cb0 - core::ptr::drop_in_place::hd87fdedc8297dcef
[00:59:38]    8:     0x56000da8b97a - dynamic_drop::main::hd5140cf70bc8e103
[00:59:38]    9:     0x56000da8dc12 - std::rt::lang_start::{{closure}}::h4b98e9bdbf1e2a0a
[00:59:38]   10:     0x7f2e2a31c7e2 - std::panicking::try::do_call::h6dff7fd2ae4225ad
[00:59:38]   11:     0x7f2e2a3389e9 - __rust_maybe_catch_panic
[00:59:38]   12:     0x7f2e2a31d2a6 - std::rt::lang_start_internal::h6ed29bf54717c5ec
[00:59:38]   13:     0x56000da8b9b3 - main
[00:59:38]   14:     0x7f2e29ceeckout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:82:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59:13
[00:59:38] thread 'main' panicked at 'Box<Any>', /checkout/src/test/run-pass/drop/dynamic-drop.rs:59d_backtrace::h85e3a547bfeb3499
[00:59:38]    1:     0x7f972960ff68 - std::sys_common::backtrace::_print::h345e53235c3c4217
[00:59:38]    2:     0x7f97296155b0 - std::panicking::default_hook::{{closure}}::h51afb1efda32ec18
[00:59:38]    3:     0x7f9729615287 - std::panicking::default_hook::hd81881f8c9effee8
[00:59:38]    4:     0x7f9729615d8a - std::panicking::rust_panic_with_hook::h020097611d33156d
[00:59:38]    5:     0x7f9729615949 - std::panicking::continue_panic_fmt::hf8b038a62bdee60d
[00:59:38]    6:     0x7f97296158ad - std::panicking::begin_panic_fmt::h570839826960e210
[00:59:38]    7:     0x5612918d6cb0 - core::ptr::drop_in_place::hd87fdedc8297dcef
[00:59:38]    8:     0x5612918dd97a - dynamic_drop::main::hd5140cf70bc8e103
[00:59:38]    9:     0x5612918dfc12 - std::rt::lang_start::{{closure}}::h4b98e9bdbf1e2a0a
[00:59:38]   10:     0x7f97296157e2 - std::panicking::try::do_call::h6dff7fd2ae4225ad
[00:59:38]   11:     0x7f97296319e9 - __rust_maybe_catch_panic
[00:59:38]   12:     0x7f97296162a6 - std::rt::lang_start_internal::h6ed29bf54717c5ec
[00:59:38]   13:     0x5612918dd9b3 - main
[00:59:38]   14:     0x7f9728fde82f - __libc_start_main
[00:59:38]   15:     0x5612918d67f8 - _start
[00:59:38]   16:                0x0 - <unknown>
[00:59:38] thread panicked while panicking. aborting.
[00:59:38] ------------------------------------------
[00:59:38] 
[00:59:38] thread '[run-pass] run-pass/drop/dynamic-drop.rs#nll' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[00:59:38] 
---
[00:59:38] test result: FAILED. 2871 passed; 3 failed; 10 ignored; 0 measured; 0 filtered out
[00:59:38] 
[00:59:38] 
[00:59:38] 
[00:59:38] 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/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/srcn-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib
55716 ./obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release
52788 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/release/deps
51388 ./obj/build/x86_64-unknown-linux-gnu/stage0/bin
50132 ./src/llvm/test/CodeGen/X86
---
37004 ./obj/build/x86_64-unknown-linux-gnu/doc/core/arch
36516 ./.git/modules/src/libcompiler_builtins/modules
36000 ./.git/modules/src/libcompiler_builtins/modules/compiler-rt
35640 ./src/tools/clang/lib
35544 ./.git/modules/src/libcompiler_builtins/ng::begin_panic_fmt::h570839826960e210 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#3  0x000056000da84cb1 in core::ptr::drop_in_place::hd87fdedc8297dcef ()
#4  0x000056000da8b97b in dynamic_drop::main::hd5140cf70bc8e103 ()
#5  0x000056000da8dc13 in std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h4b98e9bdbf1e2a0a ()
#6  0x00007f2e2a31c7e3 in std::panicking::try::do_call::h6dff7fd2ae4225ad () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#7  0x00007f2e2a3389ea in __rust_maybe_catch_panic () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#8  0x00007f2e2a31d2a7 in std::rt::lang_start_internal::h6ed29bf54717c5ec () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#9  0x000056000da8b9b4 in main ()
travis_fold:start:crashlog
travis_fold:start:crashlog
obj/cores/core.32234.!checkout!obj!build!x86_64-unknown-linux-gnu!test!run-pass!drop!dynamic-drop.nll!a
[New LWP 32234]
warning: Could not load shared library symbols for 6 libraries, e.g. /lib/x86_64-linux-gnu/libgcc_s.so.1.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/drop/dynamic-drop.nl'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007f9729615c5e in std::panicking::rust_panic_with_hook::h020097611d33156d () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#0  0x00007f9729615c5e in std::panicking::rust_panic_with_hook::h020097611d33156d () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#1  0x00007f972961594a in std::panicking::continue_panic_fmt::hf8b038a62bdee60d () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#2  0x00007f97296158ae in std::panicking::begin_panic_fmt::h570839826960e210 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#3  0x00005612918d6cb1 in core::ptr::drop_in_place::hd87fdedc8297dcef ()
#4  0x00005612918dd97b in dynamic_drop::main::hd5140cf70bc8e103 ()
#5  0x00005612918dfc13 in std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h4b98e9bdbf1e2a0a ()
#6  0x00007f97296157e3 in std::panicking::try::do_call::h6dff7fd2ae4225ad () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#7  0x00007f97296319ea in __rust_maybe_catch_panic () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so
#8  0x00007f97296162a7 in std::rt::lang_start_internal::h6ed29bf54717c5ec () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-4b5dc58ca7b0caa7.so

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 @TimNN. (Feature Requests)

Simplify MIR drop generation
Now that EndRegion is gone, we don't need to create as many gotos.

@matthewjasper matthewjasper force-pushed the matthewjasper:remove-end-region branch from c4bdd08 to 1d7fc0c Nov 18, 2018

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 18, 2018

@bors try

@bors

This comment has been minimized.

Contributor

bors commented Nov 18, 2018

⌛️ Trying commit 1d7fc0c with merge af7b94f...

bors added a commit that referenced this pull request Nov 18, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=<try>
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@bors

This comment has been minimized.

Contributor

bors commented Nov 18, 2018

☀️ Test successful - status-travis
State: approved= try=True

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 18, 2018

@rust-timer

This comment has been minimized.

rust-timer commented Nov 18, 2018

Success: Queued af7b94f with parent f37247f, comparison URL.

@matthewjasper

This comment has been minimized.

Contributor

matthewjasper commented Nov 18, 2018

perf is green now

@Mark-Simulacrum

This comment has been minimized.

Member

Mark-Simulacrum commented Nov 18, 2018

@bors r=nikomatsakis

@bors

This comment has been minimized.

Contributor

bors commented Nov 18, 2018

📌 Commit 1d7fc0c has been approved by nikomatsakis

@bors

This comment has been minimized.

Contributor

bors commented Nov 24, 2018

⌛️ Testing commit 1d7fc0c with merge 87b445a...

bors added a commit that referenced this pull request Nov 24, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakis
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@bors

This comment has been minimized.

Contributor

bors commented Nov 24, 2018

💔 Test failed - status-travis

@rust-highfive

This comment has been minimized.

Collaborator

rust-highfive commented Nov 24, 2018

The job dist-x86_64-linux-alt of your PR failed on Travis (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.
[01:38:19]      |                                                 ^ cannot be resolved, ignoring
[01:38:19]      |
[01:38:19]      = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] warning: `[CleanAscribeUserType]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:13:10
[01:38:19]    |
[01:38:19] 13 | //!   - [CleanAscribeUserType], that replaces all
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[StatementKind::AscribeUserType]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:14:10
[01:38:19]    |
[01:38:19] 14 | //!     [StatementKind::AscribeUserType] statements with [StatementKind::Nop].
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] warning: `[StatementKind::Nop]` cannot be resolved, ignoring it...
[01:38:19] warning: `[StatementKind::Nop]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:14:59
[01:38:19]    |
[01:38:19] 14 | //!     [StatementKind::AscribeUserType] statements with [StatementKind::Nop].
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[CleanFakeReadsAndBorrows]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:15:10
[01:38:19]    |
[01:38:19] 15 | //!   - [CleanFakeReadsAndBorrows], that replaces all [FakeRead] statements and
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[FakeRead]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:15:56
[01:38:19]    |
[01:38:19] 15 | //!   - [CleanFakeReadsAndBorrows], that replaces all [FakeRead] statements and
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[FakeReadCause::ForMatchGuard]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:16:35
[01:38:19]    |
[01:38:19] 16 | //!     borrows that are read by [FakeReadCause::ForMatchGuard] fake reads with
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] warning: `[StatementKind::Nop]` cannot be resolved, ignoring it...
[01:38:19] warning: `[StatementKind::Nop]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:17:10
[01:38:19]    |
[01:38:19] 17 | //!     [StatementKind::Nop].
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[CleanFakeReadsAndBorrows]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:19:10
[01:38:19]    |
[01:38:19] 19 | //! The [CleanFakeReadsAndBorrows] "pass" is actually implemented as two
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[DeleteAndRecordFakeReads]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:21:6
[01:38:19]    |
[01:38:19] 21 | //! [DeleteAndRecordFakeReads], deletes the fake reads and finds the temporaries
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[ForMatchGuard]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:22:14
[01:38:19]    |
[01:38:19] 22 | //! read by [ForMatchGuard] reads, and [DeleteFakeBorrows] deletes the
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] 
[01:38:19] warning: `[DeleteFakeBorrows]` cannot be resolved, ignoring it...
[01:38:19]   --> src/librustc_mir/transform/cleanup_post_borrowck.rs:22:41
[01:38:19]    |
[01:38:19] 22 | //! read by [ForMatchGuard] reads, and [DeleteFakeBorrows] deletes the
[01:38:19]    |
[01:38:19]    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`
[01:38:19] 
[01:38:19] warning: `[cur]` cannot be resolved, ignoring it...
---
[01:51:41]     Finished dev [unoptimized + debuginfo] target(s) in 2m 52s
[01:51:41]   Installing /cargo/bin/cargo-vendor
[01:51:41] warning: be sure to add `/cargo/bin` to your PATH to be able to run the installed binaries
[01:51:45]  Downloading openssl-src v111.0.1+1.1.1
[01:52:25] warning: spurious network error (2 tries remaining): failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:53:05] warning: spurious network error (1 tries remaining): failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:53:52]  Downloading openssl-src v111.0.1+1.1.1
[01:54:32] warning: spurious network error (2 tries remaining): failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:55:12] warning: spurious network error (1 tries remaining): failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:55:53] 
[01:55:53] Caused by:
[01:55:53]   failed to fetch package
[01:55:53] 
[01:55:53] 
[01:55:53] Caused by:
[01:55:53]   unable to get packages from source
[01:55:53] 
[01:55:53] Caused by:
[01:55:53]   failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:55:53] Caused by:
[01:55:53]   [28] Timeout was reached
[01:55:53] 
[01:55:53] 
---
travis_time:end:1183cf70:start=1543041225107370932,finish=1543041225119557175,duration=12186243
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00ad3220
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:22ead046
travis_time:start:22ead046
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:075b1b2f
$ dmesg | grep -i kill

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 @TimNN. (Feature Requests)

@kennytm

This comment has been minimized.

Member

kennytm commented Nov 24, 2018

@bors retry

@bors

This comment has been minimized.

Contributor

bors commented Nov 25, 2018

⌛️ Testing commit 1d7fc0c with merge 37961db...

bors added a commit that referenced this pull request Nov 25, 2018

Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakis
Cleanup from lexical MIR borrowck removal

Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification.

* Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag
* Use `RegionVid` instead of `Region` in BorrowSet
* Rewrite drop generation to create fewer goto terminators.

r? @nikomatsakis
@bors

This comment has been minimized.

Contributor

bors commented Nov 25, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: nikomatsakis
Pushing 37961db to master...

@bors bors merged commit 1d7fc0c into rust-lang:master Nov 25, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details

@matthewjasper matthewjasper deleted the matthewjasper:remove-end-region branch Nov 30, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment