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

Do some simple constant propagation in the ConstProp pass #60597

Merged
merged 4 commits into from May 17, 2019

Conversation

Projects
None yet
8 participants
@wesleywiser
Copy link
Member

commented May 7, 2019

r? @oli-obk

I added a few test cases. Let me know if you think there should be more.

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented May 7, 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:045b5e60:start=1557192772082847326,finish=1557192772873387922,duration=790540596
$ 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:41] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:41] tidy error: /checkout/src/librustc_mir/transform/const_prop.rs:11: line longer than 100 chars
[00:04:46] some tidy checks failed
[00:04:46] 
[00:04:46] 
[00:04:46] 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:46] 
[00:04:46] 
[00:04:46] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:46] Build completed unsuccessfully in 0:01:10
[00:04:46] Build completed unsuccessfully in 0:01:10
[00:04:46] Makefile:67: recipe for target 'tidy' failed
[00:04:46] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:06251dbc
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue May  7 01:37:49 UTC 2019
---
travis_time:end:10ecbd48:start=1557193070748297737,finish=1557193070753849093,duration=5551356
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1aedf85f
$ 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:030c192f
travis_time:start:030c192f
$ 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:0ad3b0be
$ 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)

Show resolved Hide resolved src/librustc_mir/transform/const_prop.rs Outdated
Show resolved Hide resolved src/librustc_mir/transform/const_prop.rs Outdated

@wesleywiser wesleywiser force-pushed the wesleywiser:const_prop branch from 31b0f75 to 95fd4c6 May 7, 2019

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 7, 2019

Feedback resolved

@oli-obk

oli-obk approved these changes May 7, 2019

@oli-obk

This comment was marked as outdated.

Copy link
Contributor

commented May 7, 2019

@bors try

@bors

This comment was marked as outdated.

Copy link
Contributor

commented May 7, 2019

⌛️ Trying commit 95fd4c6 with merge 7f68fd8...

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

Auto merge of #60597 - wesleywiser:const_prop, r=<try>
Do some simple constant propagation in the ConstProp pass

r? @oli-obk

I added a few test cases. Let me know if you think there should be more.
@oli-obk

This comment was marked as outdated.

Copy link
Contributor

commented May 7, 2019

@rust-timer

This comment was marked as outdated.

Copy link

commented May 7, 2019

Success: Queued 7f68fd8 with parent 55c48b4, comparison URL.

@oli-obk

This comment has been minimized.

Copy link
Contributor

commented May 7, 2019

r? @eddyb

This is a very conservative constant propagator that will only replace the rhs of assignments with constants. Any other avenues for constant propagation are left for future changes.

@rust-highfive rust-highfive assigned eddyb and unassigned oli-obk May 7, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented May 7, 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:09dd4498:start=1557231473839328766,finish=1557231557460512247,duration=83621183481
$ 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:36:00]    --> src/librustc_mir/lib.rs:31:9
[00:36:00]     |
[00:36:00] 31  | #![deny(internal)]
[00:36:00]     |         ^^^^^^^^
[00:36:00]     = note: #[deny(usage_of_qualified_ty)] implied by #[deny(internal)]
[00:36:00] error: aborting due to previous error
[00:36:00] 
[00:36:01] error: Could not compile `rustc_mir`.
[00:36:01] warning: build failed, waiting for other jobs to finish...
---
travis_time:end:03b7cd9f:start=1557233905565677800,finish=1557233905569564093,duration=3886293
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:35f2e542
$ 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

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)

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 7, 2019

@oli-obk This is gated on mir_opt_level >= 3 so a perf run will only measure the overhead of that check. Did you want to see the performance of running the propagation? I can push a temporary commit which un-gates the constant propagation.

@oli-obk

This comment has been minimized.

Copy link
Contributor

commented May 7, 2019

Did you want to see the performance of running the propagation? I can push a temporary commit which un-gates the constant propagation.

It's unlikely that this would cause performance changes of the compiled binary. LLVM should take care of that just fine. I wanted to run perfbot to see whether the const propagation slows down compilation. I assumed our perf test suite runs with full MIR optimizations, but I should have checked. I'll do that now

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 7, 2019

mir-opt-level >= 2 results in breakage so I doubt it.

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented May 7, 2019

The job dist-x86_64-linux 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_fold:end:services

travis_fold:start:git.checkout
travis_time:start:11528a76
$ git clone --depth=2 --branch=try https://github.com/rust-lang/rust.git rust-lang/rust
---
[00:59:30]    --> src/librustc_mir/lib.rs:31:9
[00:59:30]     |
[00:59:30] 31  | #![deny(internal)]
[00:59:30]     |         ^^^^^^^^
[00:59:30]     = note: #[deny(usage_of_qualified_ty)] implied by #[deny(internal)]
[00:59:30] error: aborting due to previous error
[00:59:30] 
[00:59:31] error: Could not compile `rustc_mir`.
[00:59:31] warning: build failed, waiting for other jobs to finish...
---
travis_time:end:15336b20:start=1557236433577772568,finish=1557236433605290258,duration=27517690
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:04401b3c
$ 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:065e1e56
travis_time:start:065e1e56
$ 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:31277e29
$ 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)

@bors

This comment was marked as resolved.

Copy link
Contributor

commented May 7, 2019

💔 Test failed - checks-travis

@oli-obk

This comment has been minimized.

Copy link
Contributor

commented May 7, 2019

Right. So we can check the perf when we decrease the minimum level where the propagator is turned on or make O2 actually pass all tests

@wesleywiser wesleywiser force-pushed the wesleywiser:const_prop branch from 95fd4c6 to f336a7d May 8, 2019

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

commented May 8, 2019

⌛️ Trying commit 9453e59 with merge 0a38017...

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

Auto merge of #60597 - wesleywiser:const_prop, r=<try>
Do some simple constant propagation in the ConstProp pass

r? @oli-obk

I added a few test cases. Let me know if you think there should be more.
@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented May 8, 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:021315f3:start=1557312261456580734,finish=1557312348647757955,duration=87191177221
$ 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
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:22:48] 
[01:22:48] running 139 tests
[01:22:51] i..iii.....iii..iiii.....i..............F.....i..i.................i.....i........F.ii.i..i..i.ii... 100/139
[01:22:53] failures:
[01:22:53] 
[01:22:53] ---- [codegen] codegen/inline-always-works-always.rs#NO-OPT stdout ----
[01:22:53] 
[01:22:53] 
[01:22:53] error in revision `NO-OPT`: verification with 'FileCheck' failed
[01:22:53] status: exit code: 1
[01:22:53] command: "/usr/lib/llvm-6.0/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/inline-always-works-always.NO-OPT/inline-always-works-always.ll" "/checkout/src/test/codegen/inline-always-works-always.rs" "--check-prefixes" "CHECK,NO-OPT"
[01:22:53] ------------------------------------------
[01:22:53] 
[01:22:53] ------------------------------------------
[01:22:53] stderr:
[01:22:53] stderr:
[01:22:53] ------------------------------------------
[01:22:53] /checkout/src/test/codegen/inline-always-works-always.rs:17:12: error: expected string not found in input
[01:22:53] // NO-OPT: ret i32 8
[01:22:53]            ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/inline-always-works-always.NO-OPT/inline-always-works-always.ll:14:19: note: scanning from here
[01:22:53] define i32 @caller() unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
[01:22:53]                   ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/inline-always-works-always.NO-OPT/inline-always-works-always.ll:59:2: note: possible intended match here
[01:22:53]  ret i32 %12
[01:22:53] 
[01:22:53] ------------------------------------------
[01:22:53] 
[01:22:53] 
[01:22:53] 
[01:22:53] ---- [codegen] codegen/optimize-attr-1.rs#NO-OPT stdout ----
[01:22:53] 
[01:22:53] error in revision `NO-OPT`: verification with 'FileCheck' failed
[01:22:53] status: exit code: 1
[01:22:53] command: "/usr/lib/llvm-6.0/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll" "/checkout/src/test/codegen/optimize-attr-1.rs" "--check-prefixes" "CHECK,NO-OPT"
[01:22:53] ------------------------------------------
[01:22:53] 
[01:22:53] ------------------------------------------
[01:22:53] stderr:
[01:22:53] stderr:
[01:22:53] ------------------------------------------
[01:22:53] /checkout/src/test/codegen/optimize-attr-1.rs:11:12: error: expected string not found in input
[01:22:53] // NO-OPT: ret i32 %1
[01:22:53]            ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:13:39: note: scanning from here
[01:22:53] define i32 @nothing() unnamed_addr #0 {
[01:22:53]                                       ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:29:2: note: possible intended match here
[01:22:53]  ret i32 %7
[01:22:53] /checkout/src/test/codegen/optimize-attr-1.rs:21:12: error: expected string not found in input
[01:22:53] // NO-OPT: ret i32 %1
[01:22:53]            ^
[01:22:53]            ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:38:36: note: scanning from here
[01:22:53] define i32 @size() unnamed_addr #1 {
[01:22:53]                                    ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:54:2: note: possible intended match here
[01:22:53]  ret i32 %7
[01:22:53] /checkout/src/test/codegen/optimize-attr-1.rs:34:12: error: expected string not found in input
[01:22:53] // NO-OPT: ret i32 %1
[01:22:53]            ^
[01:22:53]            ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:63:37: note: scanning from here
[01:22:53] define i32 @speed() unnamed_addr #0 {
[01:22:53]                                     ^
[01:22:53] /checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/optimize-attr-1.NO-OPT/optimize-attr-1.ll:79:2: note: possible intended match here
[01:22:53]  ret i32 %7
[01:22:53] 
[01:22:53] ------------------------------------------
[01:22:53] 
[01:22:53] 
---
[01:22:53] 
[01:22:53] 
[01:22:53] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:519:22
[01:22:53] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:22:53] 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/src/test/codegen" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "codegen" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:22:53] 
[01:22:53] 
[01:22:53] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:22:53] Build completed unsuccessfully in 0:12:08
[01:22:53] Build completed unsuccessfully in 0:12:08
[01:22:53] Makefile:48: recipe for target 'check' failed
[01:22:53] make: *** [check] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:005493db
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Wed May  8 12:08:51 UTC 2019
---
travis_time:end:2acd5fde:start=1557317332981799136,finish=1557317332986536334,duration=4737198
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:00e302d0
$ 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:08d4cd2d
travis_time:start:08d4cd2d
$ 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:0ad2b99c
$ 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)

@wesleywiser wesleywiser force-pushed the wesleywiser:const_prop branch from 375c456 to ba7b831 May 10, 2019

// return;
// }
// END rustc.main.ConstProp.before.mir
// START rustc.main.ConstProp.after.mir

This comment has been minimized.

Copy link
@bjorn3

bjorn3 May 11, 2019

Contributor

Mir after const prop doesn't seem to be different from before.

This comment has been minimized.

Copy link
@wesleywiser

wesleywiser May 11, 2019

Author Member

That's correct. I just added this test to try to "lock in" more of the behavior. I have additional changes to improve the constant propagation code incoming but per @oli-obk's feedback, I wanted to keep this PR small.

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

Auto merge of #60745 - wesleywiser:const_prop_into_terminators, r=<try>
[WIP] Const prop into terminators

Rebased on top of #60597. New commits start at eea75dc.

Last commit is just for testing purposes and I'll remove it before we merge this.

r? @ghost
ScalarMaybeUndef::Scalar(two)
) => {
let ty = &value.layout.ty.sty;
if let ty::Tuple(substs) = ty {

This comment has been minimized.

Copy link
@eddyb

eddyb May 13, 2019

Member

I don't see why this is needed, you should be able to create a ty::Const from any constant.

@eddyb

eddyb approved these changes May 13, 2019

@wesleywiser wesleywiser force-pushed the wesleywiser:const_prop branch from ba7b831 to b17066d May 15, 2019

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 15, 2019

Pushed fixes

@oli-obk

This comment has been minimized.

Copy link
Contributor

commented May 16, 2019

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

commented May 16, 2019

📌 Commit b17066d has been approved by oli-obk

@bors

This comment has been minimized.

Copy link
Contributor

commented May 16, 2019

⌛️ Testing commit b17066d with merge 5b7ec09...

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

Auto merge of #60597 - wesleywiser:const_prop, r=oli-obk
Do some simple constant propagation in the ConstProp pass

r? @oli-obk

I added a few test cases. Let me know if you think there should be more.
@bors

This comment has been minimized.

Copy link
Contributor

commented May 16, 2019

💔 Test failed - status-appveyor

@wesleywiser

This comment has been minimized.

Copy link
Member Author

commented May 16, 2019

warning: spurious network error (2 tries remaining): failed to get 200 response from https://static.crates.io/crates/png/png-0.8.0.crate, got 504
warning: spurious network error (1 tries remaining): failed to get 200 response from https://static.crates.io/crates/png/png-0.8.0.crate, got 504
error: failed to download from https://crates.io/api/v1/crates/png/0.8.0/download
Caused by:
failed to get 200 response from https://static.crates.io/crates/png/png-0.8.0.crate, got 504
thread 'main' panicked at 'tests failed for https://github.com/servo/webrender', src\tools\cargotest\main.rs:88:9
note: Run with RUST_BACKTRACE=1 environment variable to display a backtrace.

@bors retry

Manishearth added a commit to Manishearth/rust that referenced this pull request May 16, 2019

Rollup merge of rust-lang#60597 - wesleywiser:const_prop, r=oli-obk
Do some simple constant propagation in the ConstProp pass

r? @oli-obk

I added a few test cases. Let me know if you think there should be more.

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

Auto merge of #60888 - Manishearth:rollup-oihtoyq, r=Manishearth
Rollup of 5 pull requests

Successful merges:

 - #60207 (Outdent example, preserving nested fence)
 - #60278 (Document the `html_root_url` doc attribute value.)
 - #60597 (Do some simple constant propagation in the ConstProp pass)
 - #60837 (Update release notes for 1.35.0)
 - #60887 (Update clippy)

Failed merges:

r? @ghost
@bors

This comment has been minimized.

Copy link
Contributor

commented May 17, 2019

⌛️ Testing commit b17066d with merge 4f53b5c...

@bors bors merged commit b17066d into rust-lang:master May 17, 2019

1 of 2 checks passed

homu Testing commit b17066dd5eaf3dabd403bd4caccfca193c7184db with merge 4f53b5c42baf498b0dd8adbe59aae648a2cf6c14...
Details
Travis CI - Pull Request Build Passed
Details
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.