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

Fix constant propagation for scalar pairs #67015

Merged
merged 1 commit into from Dec 11, 2019
Merged

Fix constant propagation for scalar pairs #67015

merged 1 commit into from Dec 11, 2019

Conversation

@osa1
Copy link
Contributor

osa1 commented Dec 4, 2019

We now only propagate a scalar pair if the Rvalue is a tuple with two scalars. This for example avoids propagating a (u8, u8) value when Rvalue has type ((), u8, u8) (see the regression test). While this is a correct thing to do, implementation is tricky and will be done later.

Fixes #66971
Fixes #66339
Fixes #67019

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 4, 2019

r? @davidtwco

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

@osa1 osa1 force-pushed the osa1:issue66971 branch from 8ad1840 to d7bc96b Dec 4, 2019
@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 4, 2019

(fixed a long line)

let scalar = if field_layout.details.size == Size::ZERO {
Scalar::zst()
} else {
pair_values.pop().unwrap()

This comment has been minimized.

Copy link
@tmiasko

tmiasko Dec 4, 2019

I think there might be a need for an additional check that the field actually
has Abi::Scalar layout. Otherwise it could end up with an assignment between
Scalar and ScalarPair layouts, for example in something like test(((1, 2),)),
when propagating the value of the outermost tuple.

This comment has been minimized.

Copy link
@osa1

osa1 Dec 4, 2019

Author Contributor

Amazing, your example uncovers another bug. I reported it as #67019.

I'll try to fix it in this PR too.

@Centril

This comment has been minimized.

Copy link
Member

Centril commented Dec 4, 2019

@rust-highfive rust-highfive assigned oli-obk and unassigned davidtwco Dec 4, 2019
Copy link
Member

wesleywiser left a comment

Nice work overall!

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

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 4, 2019

Can you also check if this fixes #66339?

@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 4, 2019

Can you also check if this fixes #66339?

It does not, but it changes the error. For actually fixing these both I think it'd be good to first decide whether we should be changing tuple reprs in const-prop (hence the Zulip topic).

@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 4, 2019

I think it'd be good to first decide whether we should be changing tuple reprs in const-prop

We definitely should not be doing that. Beyond the ICEs we're seeing here, it would complicate other MIR passes to have to deal with constants that are valid for the layout but potentially not the logical type.

@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 4, 2019

OK, in that case I think this PR will change quite a bit and the final PR should fix both of these issues. I'm running out of time for today but I'll try to update sometime later this week. I hope this is not blocking anyone?

@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 4, 2019

@osa1 Sorry, my point was supposed to be that I think your PR is overall the right direction to go in. I think there's probably a few small tweaks you should make per the above feedback and then we can land this.

@osa1 osa1 force-pushed the osa1:issue66971 branch from d7bc96b to 6be32b2 Dec 6, 2019
@osa1 osa1 changed the title [WIP] Fix constant propagation for scalar pairs Fix constant propagation for scalar pairs Dec 6, 2019
Copy link
Member

wesleywiser left a comment

I think the tests for #66339 and #67019 should either include the expected MIR or we should make them ui tests. IMO we shouldn't have mir-opt tests that don't verify the MIR.

@oli-obk

This comment has been minimized.

Copy link
Contributor

oli-obk commented Dec 6, 2019

@rust-highfive rust-highfive assigned wesleywiser and unassigned oli-obk Dec 6, 2019
@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 6, 2019

The build is failing due to tidy:

tidy error: /checkout/src/librustc_mir/transform/const_prop.rs:651: line longer than 100 chars

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 6, 2019

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-12-06T14:48:55.0760520Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-12-06T14:48:55.0776789Z ##[command]git config gc.auto 0
2019-12-06T14:48:55.0780595Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-12-06T14:48:55.0785926Z ##[command]git config --get-all http.proxy
2019-12-06T14:48:55.0798799Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/67015/merge:refs/remotes/pull/67015/merge
---
2019-12-06T14:54:24.5216199Z    Compiling serde_json v1.0.40
2019-12-06T14:54:26.0230944Z    Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
2019-12-06T14:54:35.7512859Z     Finished release [optimized] target(s) in 1m 16s
2019-12-06T14:54:35.7603144Z tidy check
2019-12-06T14:54:36.3534742Z tidy error: /checkout/src/librustc_mir/transform/const_prop.rs:651: line longer than 100 chars
2019-12-06T14:54:38.2187671Z Found 486 error codes
2019-12-06T14:54:38.2192599Z Found 0 error codes with no tests
2019-12-06T14:54:38.2192906Z Done!
2019-12-06T14:54:38.2193124Z some tidy checks failed
2019-12-06T14:54:38.2193124Z some tidy checks failed
2019-12-06T14:54:38.2193267Z 
2019-12-06T14:54:38.2193381Z 
2019-12-06T14:54:38.2194470Z 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"
2019-12-06T14:54:38.2194994Z 
2019-12-06T14:54:38.2195151Z 
2019-12-06T14:54:38.2199717Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
2019-12-06T14:54:38.2199984Z Build completed unsuccessfully in 0:01:20
2019-12-06T14:54:38.2199984Z Build completed unsuccessfully in 0:01:20
2019-12-06T14:54:38.2244595Z == clock drift check ==
2019-12-06T14:54:38.2274856Z   local time: Fri Dec  6 14:54:38 UTC 2019
2019-12-06T14:54:38.4899868Z   network time: Fri, 06 Dec 2019 14:54:38 GMT
2019-12-06T14:54:38.4901627Z == end clock drift check ==
2019-12-06T14:54:39.8182547Z 
2019-12-06T14:54:39.8268611Z ##[error]Bash exited with code '1'.
2019-12-06T14:54:39.8295209Z ##[section]Starting: Checkout
2019-12-06T14:54:39.8297121Z ==============================================================================
2019-12-06T14:54:39.8297188Z Task         : Get sources
2019-12-06T14:54:39.8297228Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

@osa1 osa1 force-pushed the osa1:issue66971 branch from 6be32b2 to 6214142 Dec 6, 2019
@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 6, 2019

@wesleywiser

I think the tests for #66339 and #67019 should either include the expected MIR or we should make them ui tests. IMO we shouldn't have mir-opt tests that don't verify the MIR.

I'd be happy with either but I wonder if we should be including MIRs just yet because as far as I understand from the Zulip discussion we want to optimize scalar pairs more aggressively in the future so MIRs for these tests are currently not final. Same goes for the test for #66971 too actually.

Opinions?

@oli-obk

This comment has been minimized.

Copy link
Contributor

oli-obk commented Dec 6, 2019

Well... in that case you can just move the tests to ui tests and add a // build-pass comment to them.

@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 6, 2019

Yes, that's what @wesleywiser suggested also. I'm just asking whether I should do that, or include current MIRs and keep the tests in current location.

@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 6, 2019

Let's add the MIRs. I'll update.

Copy link
Member

wesleywiser left a comment

Looks great to me, thanks!

@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 6, 2019

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 6, 2019

📌 Commit 2404a06 has been approved by wesleywiser

bors added a commit that referenced this pull request Dec 7, 2019
Const prop should finish propagation into user defined variables

Fixes #66638

Temporarily rebased on top of #67015 to get those fixes.

r? @oli-obk
bors added a commit that referenced this pull request Dec 7, 2019
Const prop should finish propagation into user defined variables

Fixes #66638

Temporarily rebased on top of #67015 to get those fixes.

r? @oli-obk
bors added a commit that referenced this pull request Dec 7, 2019
Const prop should finish propagation into user defined variables

Fixes #66638

Temporarily rebased on top of #67015 to get those fixes.

r? @oli-obk
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Dec 9, 2019

⌛️ Testing commit 2404a06 with merge 59264e5...

bors added a commit that referenced this pull request Dec 9, 2019
Fix constant propagation for scalar pairs

We now only propagate a scalar pair if the Rvalue is a tuple with two scalars. This for example avoids propagating a (u8, u8) value when Rvalue has type `((), u8, u8)` (see the regression test). While this is a correct thing to do, implementation is tricky and will be done later.

Fixes #66971
Fixes #66339
Fixes #67019
@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Dec 9, 2019

The job x86_64-gnu-aux of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-12-09T10:50:00.5811096Z test test_table::table ... ok
2019-12-09T10:50:00.5814311Z 
2019-12-09T10:50:00.5815203Z failures:
2019-12-09T10:50:00.5816043Z 
2019-12-09T10:50:00.5817453Z ---- test_cat::prop_cat_cols stdout ----
2019-12-09T10:50:00.5818006Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-5]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5818665Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-7]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5819186Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-9]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5819635Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-11]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5819963Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5820278Z   left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`,
2019-12-09T10:50:00.5820573Z  right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5820683Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-12-09T10:50:00.5821068Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-13]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5821793Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-15]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5822224Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-17]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5822517Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5822798Z   left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`,
2019-12-09T10:50:00.5823108Z  right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5823509Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-19]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5823951Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-21]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5824382Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-23]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5824671Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5824950Z   left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`,
2019-12-09T10:50:00.5825253Z  right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5825663Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-25]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5826111Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-27]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5826519Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-29]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5826825Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5827101Z   left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`,
2019-12-09T10:50:00.5827474Z  right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5828369Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-31]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5829026Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-33]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5829593Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-35]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5830043Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5830453Z   left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"]]`,
2019-12-09T10:50:00.5830887Z  right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5831598Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-37]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5832180Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-39]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5833423Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-41]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5833948Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5834410Z   left: `[["z\u{82}$", ""], ["쭄爾", ">R"]]`,
2019-12-09T10:50:00.5834915Z  right: `[["\u{feff}z\u{82}$", ""], ["쭄爾", ">R"]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5835571Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-43]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5836267Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-45]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5837602Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-47]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5838049Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5838247Z   left: `[["z\u{82}$", ""]]`,
2019-12-09T10:50:00.5838578Z  right: `[["\u{feff}z\u{82}$", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5839117Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-49]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5839725Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-51]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5840319Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-53]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5840906Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-55]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5841442Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5841696Z   left: `[["z", ""]]`,
2019-12-09T10:50:00.5845311Z  right: `[["\u{feff}z", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5845750Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-57]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5846169Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-59]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5846600Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-61]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5847068Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-63]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5847591Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5847690Z   left: `[]`,
2019-12-09T10:50:00.5847919Z  right: `[["\u{feff}", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5848321Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-65]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5848764Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-67]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5849380Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-69]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5850008Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-71]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5850666Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-73]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5860698Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-75]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5861280Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-77]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5861743Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-79]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5868685Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-81]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5869347Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-83]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5869814Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-85]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5870384Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-87]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5870899Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-89]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5871343Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-91]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5871784Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-92]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5872212Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-94]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5872652Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-97]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5873212Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-98]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5873637Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-100]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5873950Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5874026Z   left: `[]`,
2019-12-09T10:50:00.5874276Z  right: `[["\u{feff}", "ʼn\u{85}\u{8}*"]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5874685Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-102]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5875121Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-104]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5875560Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-106]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5875998Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-108]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5876427Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-110]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5876878Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-112]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5877324Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-114]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5877742Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-116]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5878259Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-118]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5878739Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-120]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5879175Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-122]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5879613Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-124]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5880049Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-126]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5880483Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-128]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5881032Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-130]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5881474Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-132]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5881918Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-134]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5882696Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-136]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5883639Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-138]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5883990Z thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
2019-12-09T10:50:00.5884076Z   left: `[]`,
2019-12-09T10:50:00.5884338Z  right: `[["\u{feff}", ""]]`', tests/test_cat.rs:86:9
2019-12-09T10:50:00.5884770Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-140]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5885272Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-142]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5885776Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-144]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5886579Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-146]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5887166Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-148]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5887585Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-150]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5888080Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-152]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5888551Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-154]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5888976Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-156]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5889382Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-158]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5889813Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-160]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5890348Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-162]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5890757Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-164]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5891178Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-166]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5891608Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-168]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5892024Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-170]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5892450Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-172]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5892870Z [/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-174]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
2019-12-09T10:50:00.5893263Z thread 'test_cat::prop_cat_cols' panicked at '[quickcheck] TEST FAILED (runtime error). Arguments: (CsvData { data: [[[239, 187, 191]]] }, CsvData { data: [[[]]] })
2019-12-09T10:50:00.5893658Z Error: "assertion failed: `(left == right)`\n  left: `[]`,\n right: `[[\"\\u{feff}\", \"\"]]`"', /cargo/registry/src/github.com-1ecc6299db9ec823/quickcheck-0.4.1/src/tester.rs:147:28
2019-12-09T10:50:00.5893792Z 
2019-12-09T10:50:00.5893842Z failures:
2019-12-09T10:50:00.5893912Z     test_cat::prop_cat_cols
2019-12-09T10:50:00.5893948Z 
---
2019-12-09T10:50:00.5904221Z 
2019-12-09T10:50:00.5904250Z 
2019-12-09T10:50:00.5904630Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/test/run-fail/pretty src/test/run-pass-valgrind/pretty src/tools/cargo src/tools/cargotest
2019-12-09T10:50:00.5904741Z Build completed unsuccessfully in 1:37:29
2019-12-09T10:50:00.5912829Z make: *** [check-aux] Error 1
2019-12-09T10:50:00.5913110Z Makefile:50: recipe for target 'check-aux' failed
2019-12-09T10:50:00.5921063Z   local time: Mon Dec  9 10:50:00 UTC 2019
2019-12-09T10:50:01.1115916Z   network time: Mon, 09 Dec 2019 10:50:01 GMT
2019-12-09T10:50:01.1120970Z == end clock drift check ==
2019-12-09T10:50:01.9298984Z 
2019-12-09T10:50:01.9298984Z 
2019-12-09T10:50:01.9382758Z ##[error]Bash exited with code '2'.
2019-12-09T10:50:01.9418939Z ##[section]Starting: Checkout
2019-12-09T10:50:01.9420689Z ==============================================================================
2019-12-09T10:50:01.9420775Z Task         : Get sources
2019-12-09T10:50:01.9420838Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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.

Copy link
Contributor

bors commented Dec 9, 2019

💔 Test failed - checks-azure

@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 9, 2019

I'm completely unfamiliar with this part of the CI process. It looks like we're testing various crates from the ecosystem and one of the xsv tests is failing:

[/checkout/obj/build/ct/xsv/target/debug/xit/cat_cols/test-11]: "/checkout/obj/build/ct/xsv/target/debug/xsv" "/checkout/obj/build/ct/xsv/target/debug/xsv" "cat" "columns" "in1.csv" "in2.csv" "--no-headers"
thread 'test_cat::prop_cat_cols' panicked at 'assertion failed: `(left == right)`
  left: `[["z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`,
 right: `[["\u{feff}z\u{82}$", ""], ["w\'", ">R"], ["쭄爾", "ʼn\u{85}\u{8}*"], ["=", ""]]`', tests/test_cat.rs:86:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

\u{feff} is the Unicode byte order mark. I'm not really sure what's going on...

@oli-obk

This comment has been minimized.

Copy link
Contributor

oli-obk commented Dec 10, 2019

@bors retry

This PR makes an optimization less aggressive, I don't see how it could be causing this new failure

Centril added a commit to Centril/rust that referenced this pull request Dec 11, 2019
Fix constant propagation for scalar pairs

We now only propagate a scalar pair if the Rvalue is a tuple with two scalars. This for example avoids propagating a (u8, u8) value when Rvalue has type `((), u8, u8)` (see the regression test). While this is a correct thing to do, implementation is tricky and will be done later.

Fixes rust-lang#66971
Fixes rust-lang#66339
Fixes rust-lang#67019
bors added a commit that referenced this pull request Dec 11, 2019
Rollup of 6 pull requests

Successful merges:

 - #66881 (Optimize Ord trait implementation for bool)
 - #67015 (Fix constant propagation for scalar pairs)
 - #67074 (Add options to --extern flag.)
 - #67164 (Ensure that panicking in constants eventually errors)
 - #67174 (Remove `checked_add` in `Layout::repeat`)
 - #67205 (Make `publish_toolstate.sh` executable)

Failed merges:

r? @ghost
@bors bors merged commit 2404a06 into rust-lang:master Dec 11, 2019
4 of 5 checks passed
4 of 5 checks passed
homu Test failed
Details
pr #20191206.35 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-7) Linux x86_64-gnu-llvm-7 succeeded
Details
pr (Linux x86_64-gnu-tools) Linux x86_64-gnu-tools succeeded
Details
@osa1

This comment has been minimized.

Copy link
Contributor Author

osa1 commented Dec 11, 2019

So that was an intermittent (non-deterministic?) test failure? I guess every project has them 😅

@eddyb

This comment has been minimized.

Copy link
Member

eddyb commented Dec 12, 2019

Did we never run perf on this?

My guess is that this regression was caused by this PR. (EDIT: probably not, see below)

@wesleywiser

This comment has been minimized.

Copy link
Member

wesleywiser commented Dec 12, 2019

We didn't but I'm not sure this PR is responsible because there are so many check regressions. When we turned on const prop by default, we only really saw improvements on debug & release builds not check builds because check builds don't query for optimized mir.

bors added a commit that referenced this pull request Dec 12, 2019
Const prop should finish propagation into user defined variables

Fixes #66638

~~Temporarily rebased on top of #67015 to get those fixes.~~

r? @oli-obk
Centril added a commit to Centril/rust that referenced this pull request Dec 13, 2019
… r=oli-obk

Const prop should finish propagation into user defined variables

Fixes rust-lang#66638

~~Temporarily rebased on top of rust-lang#67015 to get those fixes.~~

r? @oli-obk
bors added a commit that referenced this pull request Dec 14, 2019
Const prop should finish propagation into user defined variables

Fixes #66638

~~Temporarily rebased on top of #67015 to get those fixes.~~

r? @oli-obk
Centril added a commit to Centril/rust that referenced this pull request Dec 20, 2019
… r=oli-obk

Const prop should finish propagation into user defined variables

Fixes rust-lang#66638

~~Temporarily rebased on top of rust-lang#67015 to get those fixes.~~

r? @oli-obk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
9 participants
You can’t perform that action at this time.