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

Optimize matches #60730

Merged
merged 7 commits into from Jun 16, 2019

Conversation

Projects
None yet
8 participants
@matthewjasper
Copy link
Contributor

commented May 11, 2019

Attempt to fix or improve #60571

This is breaking some diagnostics because the MIR for match arms isn't in source order any more.

cc @Centril

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented May 11, 2019

r? @pnkfelix

(rust_highfive has picked a reviewer for you, use r? to override)

@matthewjasper

This comment has been minimized.

Copy link
Contributor Author

commented May 11, 2019

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

commented May 11, 2019

⌛️ Trying commit d7f31a6 with merge df9b1d3...

bors added a commit that referenced this pull request May 11, 2019

Auto merge of #60730 - matthewjasper:optimize-false-edges, r=<try>
Optimize matches

Attempt to fix or improve #60571

This is breaking some diagnostics because the MIR for match arms isn't in source order any more.

cc @Centril
@bors

This comment has been minimized.

Copy link
Contributor

commented May 11, 2019

☀️ Try build successful - checks-travis
Build commit: df9b1d3

@matthewjasper

This comment has been minimized.

Copy link
Contributor Author

commented May 12, 2019

@rust-lang/infra Can I have a perf run?

@pietroalbini

This comment has been minimized.

Copy link
Member

commented May 12, 2019

@rust-timer

This comment has been minimized.

Copy link

commented May 12, 2019

Success: Queued df9b1d3 with parent b8e0d0a, comparison URL.

@rust-timer

This comment has been minimized.

Copy link

commented May 12, 2019

Finished benchmarking try commit df9b1d3

@@ -1180,9 +1180,9 @@ pub enum TerminatorKind<'tcx> {
FalseEdges {
/// The target normal control flow will take
real_target: BasicBlock,
/// The list of blocks control flow could conceptually take, but won't
/// A block control flow could conceptually take, but won't

This comment has been minimized.

Copy link
@pnkfelix

pnkfelix May 22, 2019

Member
Suggested change
/// A block control flow could conceptually take, but won't
/// A block control flow could conceptually jump to, but won't
adt_def.variants.len() + 1
}
TestKind::SwitchInt { switch_ty, ref options, .. } => {
if switch_ty.is_bool() {

This comment has been minimized.

Copy link
@pnkfelix

pnkfelix May 22, 2019

Member

I'm trying to figure out the overall picture here.

My current best guess is that, for SwitchInt on a bool, the options ends up holding just some permutation of { 0, 1 } (and we know that to be exhaustive, since the type is bool), and thus options.len() + 1 would give the wrong number of target basic blocks.

Regardless of whether my hypothesis above is correct or incorrect, it might be nice to add some docs to SwitchInt explaining the role of the options field, and what invariants it upholds with respect to the other fields (switch_ty and indices).

// StorageLive(_4);
// _4 = _2;
// ((_0 as A).0: i32) = move _4;
// discriminant(_0) = 0;

This comment has been minimized.

Copy link
@pnkfelix

pnkfelix May 22, 2019

Member

(I find this effect on the generated MIR interesting. I don't know whether its bad or good, in terms of code quality i.e. the ability of LLVM to optimize the result)

This comment has been minimized.

Copy link
@matthewjasper

matthewjasper May 25, 2019

Author Contributor

The diff is a little messed up, all that's happening here is the two blocks are being swapped

@@ -28,16 +28,16 @@ LL | let x;
...
LL | x = 1;
| ^^^^^ cannot assign twice to immutable variable
LL | } else {
LL | x = 2;
| ----- first assignment to `x`

This comment has been minimized.

Copy link
@pnkfelix

pnkfelix May 22, 2019

Member

(it always makes me a little sad to see leaking of the reality that our static analysis is happening on a control-flow graph that does not always bias itself to act like syntactic order should be favored when the control-flow is otherwise semi-arbitrary. But there are other instances where things like this leak through and its certainly not your job, or maybe anyone's job, to address it.)

@pnkfelix

This comment has been minimized.

Copy link
Member

commented May 22, 2019

The perf results look entirely acceptable to me.

@pnkfelix

This comment has been minimized.

Copy link
Member

commented May 22, 2019

@matthewjasper maybe I missed it, but did you add a test case for the actual problem described in #60571 somewhere in this PR?

@pnkfelix

This comment has been minimized.

Copy link
Member

commented May 22, 2019

This all seems fine to me. I left some general feedback, but I don't see a problem with landing this PR as is.

Having said that, we can't merge draft pull requests.

So I'll just say: r=me, and switch this to S-waiting-on-author so that @matthewjasper can decide if its fully-baked, or if it needs more changes and then another round of review.

@Centril

This comment has been minimized.

Copy link
Member

commented May 22, 2019

The perf results look entirely acceptable to me.

I am surprised that things don't look better tho... I would have expected to regain more of the loss. The mir-opt test for simplify_if looks almost as before (diff in https://github.com/rust-lang/rust/pull/59288/files?file-filters%5B%5D=.stderr#diff-2482362a90df359dd3fd19add1f77160) except for initial -> after-copy-prop. Maybe revert it back to initial to see how it looks then?

@matthewjasper maybe I missed it, but did you add a test case for the actual problem described in #60571 somewhere in this PR?

I don't see a mir-opt test for match cond { true => expr, _ => expr } -- maybe add one?

@matthewjasper

This comment has been minimized.

Copy link
Contributor Author

commented May 25, 2019

Just to give an update here: it's taken me awhile to get back to this. I've had a look at the encoding perf regression and I think I've identified the problem there. There are some other things that I want to check as well. I'll push an updated PR and mark this ready for review once I'm happy.

@matthewjasper matthewjasper force-pushed the matthewjasper:optimize-false-edges branch from d7f31a6 to cafb9d7 May 25, 2019

@matthewjasper matthewjasper marked this pull request as ready for review May 25, 2019

@bors

This comment has been minimized.

Copy link
Contributor

commented May 25, 2019

☔️ The latest upstream changes (presumably #59276) made this pull request unmergeable. Please resolve the merge conflicts.

@matthewjasper matthewjasper force-pushed the matthewjasper:optimize-false-edges branch 2 times, most recently from 9425a84 to 967d806 May 25, 2019

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented May 25, 2019

The job x86_64-gnu-llvm-6.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:187e1868:start=1558813610429466370,finish=1558813611352910723,duration=923444353
$ 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
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---

[00:04:45] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:45] tidy error: /checkout/src/test/mir-opt/simple-match.rs: missing trailing newline
[00:04:50] some tidy checks failed
[00:04:50] 
[00:04:50] 
[00:04:50] 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:04:50] 
[00:04:50] 
[00:04:50] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:50] Build completed unsuccessfully in 0:01:14
[00:04:50] Build completed unsuccessfully in 0:01:14
[00:04:50] make: *** [tidy] Error 1
[00:04:50] Makefile:67: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0175fbed
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sat May 25 19:51:52 UTC 2019
---
travis_time:end:024bd5a0:start=1558813913673628966,finish=1558813913678751443,duration=5122477
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0cfa2659
$ 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:1360d07a
travis_time:start:1360d07a
$ 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:01e3ff4e
$ 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:optimize-false-edges branch from 967d806 to 2f57a82 May 26, 2019

@matthewjasper

This comment has been minimized.

Copy link
Contributor Author

commented May 26, 2019

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 15, 2019

⌛️ Testing commit 89ea69a with merge 65640b0...

bors added a commit that referenced this pull request Jun 15, 2019

Auto merge of #60730 - matthewjasper:optimize-false-edges, r=pnkfelix
Optimize matches

Attempt to fix or improve #60571

This is breaking some diagnostics because the MIR for match arms isn't in source order any more.

cc @Centril
@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 15, 2019

💔 Test failed - checks-travis

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Jun 15, 2019

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.
Need to get 2,649 kB of archives.
After this operation, 7,904 kB of additional disk space will be used.
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Err:3 http://security.ubuntu.com/ubuntu xenial-security/main amd64 gdb amd64 7.11.1-0ubuntu1~16.5
  Unable to connect to apt.cache.travis-ci.com:http:
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Ign:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
Ign:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
Err:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace1 amd64 1.3.2-1
  Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152), connection timed out
Err:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 libbabeltrace-ctf1 amd64 1.3.2-1
  Unable to connect to apt.cache.travis-ci.com:http:
Fetched 2,526 kB in 30s (84.0 kB/s)
Fetched 2,526 kB in 30s (84.0 kB/s)
E: Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace1_1.3.2-1_amd64.deb  Could not connect to apt.cache.travis-ci.com:80 (34.96.81.152), connection timed out
E: Failed to fetch http://us-east-1.ec2.archive.ubuntu.com/ubuntu/pool/main/b/babeltrace/libbabeltrace-ctf1_1.3.2-1_amd64.deb  Unable to connect to apt.cache.travis-ci.com:http:
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
travis_fold:start:apt-get.diagnostics
apt-get install failed
apt-get install failed
$ cat ${TRAVIS_HOME}/apt-get-update.log
Get:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt xenial-pgdg InRelease [51.5 kB]
Get:4 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:5 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main amd64 Packages [205 kB]
Get:7 http://apt.postgresql.org/pub/repos/apt xenial-pgdg/main i386 Packages [205 kB]
Get:8 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main Sources [1,103 kB]
Get:9 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted Sources [5,179 B]
Get:10 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Sources [9,802 kB]
Get:12 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1,558 kB]
Get:13 http://security.ubuntu.com/ubuntu xenial-security/main Sources [185 kB]
Get:14 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,243 B]
Get:15 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main i386 Packages [1,552 kB]
---
Get:20 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/main Translation-en [799 kB]
Get:21 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
Get:22 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [382 kB]
Get:23 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted i386 Packages [14.5 kB]
Get:24 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/restricted Translation-en [3,019 B]
Get:25 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9,827 kB]
Get:27 http://security.ubuntu.com/ubuntu xenial-security/restricted i386 Packages [12.7 kB]
Get:27 http://security.ubuntu.com/ubuntu xenial-security/restricted i386 Packages [12.7 kB]
Get:28 http://security.ubuntu.com/ubuntu xenial-security/restricted Translation-en [2,204 B]
Get:30 http://security.ubuntu.com/ubuntu xenial-security/universe i386 Packages [482 kB]
Get:31 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [240 kB]
Get:32 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [6,121 B]
Get:33 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [6,297 B]
Get:33 http://security.ubuntu.com/ubuntu xenial-security/multiverse i386 Packages [6,297 B]
Get:34 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [2,699 B]
Get:35 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe i386 Packages [9,804 kB]
Get:36 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/universe Translation-en [6,256 kB]
Get:38 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse i386 Packages [172 kB]
Get:39 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [131 kB]
Get:40 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Sources [425 kB]
Get:41 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,696 B]
Get:41 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2,696 B]
Get:42 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Sources [322 kB]
Get:43 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [9,428 B]
Get:44 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1,250 kB]
Get:45 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [1,071 kB]
Get:46 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [545 kB]
Get:47 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.1 kB]
Get:48 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted i386 Packages [13.1 kB]
Get:49 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en [2,337 B]
Get:51 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [885 kB]
Get:52 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [427 kB]
Get:53 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [19.1 kB]
Get:54 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [17.9 kB]
Get:54 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [17.9 kB]
Get:55 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,978 B]
Get:56 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Sources [5,073 B]
Get:57 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources [7,237 B]
Get:58 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [7,942 B]
Get:59 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main i386 Packages [7,942 B]
Get:60 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [4,571 B]
Get:61 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [8,532 B]
Get:62 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe i386 Packages [8,172 B]
Get:63 http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [4,275 B]
Reading package lists...
travis_fold:end:apt-get.diagnostics
travis_fold:end:apt-get.diagnostics
The command "sudo -E apt-get -yq --no-install-suggests --no-install-recommends $(travis_apt_get_options) install gdb" failed and exited with 100 during .
Your build has been stopped.

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

This comment has been minimized.

Copy link
Contributor Author

commented Jun 15, 2019

@bors retry

@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 16, 2019

⌛️ Testing commit 89ea69a with merge 8e774d3...

bors added a commit that referenced this pull request Jun 16, 2019

Auto merge of #60730 - matthewjasper:optimize-false-edges, r=pnkfelix
Optimize matches

Attempt to fix or improve #60571

This is breaking some diagnostics because the MIR for match arms isn't in source order any more.

cc @Centril
@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 16, 2019

💔 Test failed - checks-travis

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Jun 16, 2019

The job dist-x86_64-apple 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.
wry
xmoto
zxing-cpp
==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.4.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/e7/e7be50f4ee00e35887f3957263334eb3baba59e8c061919060f9259351be6880?__gda__=exp=1560658978~hmac=d17387110db7f132e30e72a949d877d54e4210a16f2ce2ddb184536cddb08ff1&response-content-disposition=attachment%3Bfilename%3D%22xz-5.2.4.high_sierra.bottle.tar.gz%22&response-content-type=application%2Fgzip&requestInfo=U2FsdGVkX18BAMtcNxgn4RaqmQDPzLPZEyaORdcRx0miRvq5C9n0ub5jqikY5233XwSvvEB43V-cxhyfMb-ByetXSDWJD-RAkm89HLoJfEgovXVg1j8hAes8_kHO38YGrVwP6woF72XM00Oy9rYJgg&response-X-Checksum-Sha1=32dc0b28e61f32b40c20e2993418aa8cb6e746d5&response-X-Checksum-Sha2=e7be50f4ee00e35887f3957263334eb3baba59e8c061919060f9259351be6880
🍺  /usr/local/Cellar/xz/5.2.4: 92 files, 1MB
==> `brew cleanup` has not been run in 30 days, running now...
Removing: /Users/travis/Library/Caches/Homebrew/boost-1.66.0.high_sierra.bottle.tar.gz... (84.6MB)
Removing: /Users/travis/Library/Caches/Homebrew/carthage-0.28.0.high_sierra.bottle.tar.gz... (8.3MB)
---
Pruned 0 symbolic links and 5 directories from /usr/local
==> Installing dependencies for swig: pcre
==> Installing swig dependency: pcre
==> Downloading https://homebrew.bintray.com/bottles/pcre-8.43.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/03/0389911a93a88efd4a69b52dea8ecb872fdb55bcfff45d2f7313be5f79730861?__gda__=exp=1560658989~hmac=e800ec638b9ca76c9bff1cca98ac14dc8868ca1cb2cc1ae01a7cc99f7a9d1e12&response-content-disposition=attachment%3Bfilename%3D%22pcre-8.43.high_sierra.bottle.tar.gz%22&response-content-type=application%2Fgzip&requestInfo=U2FsdGVkX1_z6srsf8PJuqmBoTlF3dTYZSeyXX-LFxyVnluF46RO616TO-PTQY_n2hbrXQnpuqmos4RH0CPxJUiRRnvYtpMHJUZyQm74RXC9pLogKXBBhgDSbQX1M1kuqpBzZG-ckU6ZJB5RBkvnHA&response-X-Checksum-Sha1=c67d4b99bb245f0ea56b34118dd6325b06a7250c&response-X-Checksum-Sha2=0389911a93a88efd4a69b52dea8ecb872fdb55bcfff45d2f7313be5f79730861
🍺  /usr/local/Cellar/pcre/8.43: 204 files, 5.5MB
==> Installing swig
==> Downloading https://homebrew.bintray.com/bottles/swig-4.0.0.high_sierra.bottle.tar.gz
==> Downloading https://homebrew.bintray.com/bottles/swig-4.0.0.high_sierra.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/ae/aed79cb436b3a0ac5812c4085e3121ffd62866397b8c7eaa06815ed8ec1e22b7?__gda__=exp=1560658992~hmac=b1546b871583b353d631a1af621a6807f1c233fd64996c2f57f029d216c43b65&response-content-disposition=attachment%3Bfilename%3D%22swig-4.0.0.high_sierra.bottle.tar.gz%22&response-content-type=application%2Fgzip&requestInfo=U2FsdGVkX1-Ox7nzqPrnTBs0LoA6EKWvjfs3fvq4y6XrsNq5LP_U0_wxHPGp1tJ4b1mqu-9kP_xtlQDUdt_czxKuTFppob3O7eniZwV-Soo6Ny4cuDz4SoWEa_MB-dmHZr_fxwfanq3Kx_wyEaZmGw&response-X-Checksum-Sha1=a9c428aee4337d91061a69c02d7ae508b627d03f&response-X-Checksum-Sha2=aed79cb436b3a0ac5812c4085e3121ffd62866397b8c7eaa06815ed8ec1e22b7
🍺  /usr/local/Cellar/swig/4.0.0: 722 files, 5.4MB
travis_time:end:0e1c4d77:start=1560657930121139000,finish=1560658309795399000,duration=379674260000
travis_fold:end:install
travis_fold:start:before_script.1
---
[00:01:41]    Compiling serde_derive v1.0.81
[00:02:07]    Compiling serde_json v1.0.33
[00:02:07]    Compiling toml v0.4.10
[00:02:12]    Compiling bootstrap v0.0.0 (/Users/travis/build/rust-lang/rust/src/bootstrap)
No output has been received in the last 30m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received
The build has been terminated

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)

@Centril

This comment has been minimized.

Copy link
Member

commented Jun 16, 2019

@bors retry spurious 30 min

@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 16, 2019

⌛️ Testing commit 89ea69a with merge 6865502...

bors added a commit that referenced this pull request Jun 16, 2019

Auto merge of #60730 - matthewjasper:optimize-false-edges, r=pnkfelix
Optimize matches

Attempt to fix or improve #60571

This is breaking some diagnostics because the MIR for match arms isn't in source order any more.

cc @Centril
@bors

This comment has been minimized.

Copy link
Contributor

commented Jun 16, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: pnkfelix
Pushing 6865502 to master...

@bors bors added the merged-by-bors label Jun 16, 2019

@bors bors merged commit 89ea69a into rust-lang:master Jun 16, 2019

3 checks passed

Travis CI - Pull Request Build Passed
Details
homu Test successful
Details
pr Build #20190613.35 succeeded
Details
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

commented Jun 16, 2019

📣 Toolstate changed by #60730!

Tested on commit 6865502.
Direct link to PR: #60730

💔 rls on windows: test-pass → test-fail (cc @Xanewok, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Jun 16, 2019

📣 Toolstate changed by rust-lang/rust#60730!
Tested on commit rust-lang/rust@6865502.
Direct link to PR: <rust-lang/rust#60730>

💔 rls on windows: test-pass → test-fail (cc @Xanewok, @rust-lang/infra).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.