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

[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation). #47954

Closed
wants to merge 9 commits into from

Conversation

Projects
None yet
9 participants
@eddyb
Copy link
Member

eddyb commented Feb 1, 2018

nothing to see here (PR open for testing purposes)

note to self: DO NOT MERGE without inspecting all FIXME / HACK comments

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Feb 1, 2018

r? @petrochenkov

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

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 1, 2018

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 1, 2018

⌛️ Trying commit f88212c with merge 7a4d4c6...

bors added a commit that referenced this pull request Feb 1, 2018

Auto merge of #47954 - eddyb:copy-elision, r=<try>
[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation).

*nothing to see here* (PR open for testing purposes)
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 2, 2018

💔 Test failed - status-travis

@Mark-Simulacrum

This comment has been minimized.

Copy link
Member

Mark-Simulacrum commented Feb 2, 2018

[01:17:24] �[1m�[31merror: internal compiler error�(B�[m�[1m: librustc_trans/mir/block.rs:838: can't directly store to unaligned value�(B�[m
[01:17:24]   �(B�[m�[1m�[34m--> �(B�[m/cargo/registry/src/github.com-1ecc6299db9ec823/failure-0.1.1/src/error.rs:31:5�(B�[m
[01:17:24]    �(B�[m�[1m�[34m|�(B�[m
[01:17:24] �[1m�[34m31�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m/�(B�[m �(B�[m    fn from(failure: F) -> Error {�(B�[m
[01:17:24] �[1m�[34m32�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|�(B�[m �(B�[m        let inner: Inner<F> = {�(B�[m
[01:17:24] �[1m�[34m33�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|�(B�[m �(B�[m            let backtrace = if failure.backtrace().is_none() {�(B�[m
[01:17:24] �[1m�[34m34�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|�(B�[m �(B�[m                Backtrace::new()�(B�[m
[01:17:24] �[1m�[34m...�(B�[m  �(B�[m�[1m�[31m|�(B�[m
[01:17:24] �[1m�[34m38�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|�(B�[m �(B�[m        Error { inner: Box::new(inner) }�(B�[m
[01:17:24] �[1m�[34m39�(B�[m �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|�(B�[m �(B�[m    }�(B�[m
[01:17:24]    �(B�[m�[1m�[34m| �(B�[m�[1m�[31m|_____^�(B�[m
[01:17:24] 
[01:17:24] thread 'rustc' panicked at 'Box<Any>', librustc_errors/lib.rs:482:9
[01:17:24] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:17:24] 
[01:17:24] note: the compiler unexpectedly panicked. this is a bug.
[01:17:24] 
[01:17:24] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[01:17:24] 
[01:17:24] note: rustc 1.25.0-nightly (7a4d4c6c9 2018-02-01) running on x86_64-unknown-linux-gnu
[01:17:24] 
[01:17:24] �[m�[m�[31m�[1merror:�[m Could not compile `cargo`.
[01:17:24] 
@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 2, 2018

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 2, 2018

⌛️ Trying commit 401ced3 with merge 51345ce...

bors added a commit that referenced this pull request Feb 2, 2018

Auto merge of #47954 - eddyb:copy-elision, r=<try>
[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation).

*nothing to see here* (PR open for testing purposes)

note to self: **DO NOT MERGE** without inspecting all `FIXME` / `HACK` comments
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 2, 2018

💔 Test failed - status-travis

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 2, 2018

Looks like banning #[repr(packed)] structs is trickier than I thought.

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 3, 2018

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

@shepmaster

This comment has been minimized.

Copy link
Member

shepmaster commented Feb 9, 2018

nothing to see here

👁 We See All 👁

Like the fact that triage notices this has been open for a week, has some CI failures, and some merge conflicts. Any hopes of fixing those issues in the near future?

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 9, 2018

@shepmaster I can close while I'm not using this (I just need to remember to reopen before pushing).

@eddyb eddyb closed this Feb 9, 2018

@eddyb eddyb reopened this Feb 13, 2018

@eddyb eddyb force-pushed the eddyb:copy-elision branch 2 times, most recently from aee57ce to 44afedf Feb 13, 2018

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 13, 2018

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 13, 2018

⌛️ Trying commit 44afedf with merge e8aeb68...

bors added a commit that referenced this pull request Feb 13, 2018

Auto merge of #47954 - eddyb:copy-elision, r=<try>
[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation).

*nothing to see here* (PR open for testing purposes)

note to self: **DO NOT MERGE** without inspecting all `FIXME` / `HACK` comments
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 13, 2018

💔 Test failed - status-travis

@eddyb eddyb force-pushed the eddyb:copy-elision branch from 44afedf to 932b415 Feb 14, 2018

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 17, 2018

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

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 23, 2018

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 23, 2018

⌛️ Trying commit 36a4c50 with merge ab6dfcc...

bors added a commit that referenced this pull request Feb 23, 2018

Auto merge of #47954 - eddyb:copy-elision, r=<try>
[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation).

*nothing to see here* (PR open for testing purposes)

note to self: **DO NOT MERGE** without inspecting all `FIXME` / `HACK` comments
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 23, 2018

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

@Mark-Simulacrum

This comment has been minimized.

Copy link
Member

Mark-Simulacrum commented Feb 23, 2018

Perf runs queued for 1eebfaa and ab6dfcc.

@eddyb eddyb force-pushed the eddyb:copy-elision branch from 36a4c50 to c3a4b6d Feb 23, 2018

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Feb 23, 2018

There is a bit of a cost for doing it correctly, but that's not really relevant.
Against the #48300 baseline, it's somewhat similar (in fact, it's worse than #47954 (comment)).
Not sure what to make of that last part, since locally this last run is twice as fast for clap.

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Feb 24, 2018

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

@eddyb eddyb force-pushed the eddyb:copy-elision branch from c3a4b6d to 5b6de2c Feb 28, 2018

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Mar 1, 2018

@bors try

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 1, 2018

⌛️ Trying commit c858ee5 with merge d0b78e7...

bors added a commit that referenced this pull request Mar 1, 2018

Auto merge of #47954 - eddyb:copy-elision, r=<try>
[WIP] Implement a "place unification" MIR optimization (aka source/destination propagation).

*nothing to see here* (PR open for testing purposes)

note to self: **DO NOT MERGE** without inspecting all `FIXME` / `HACK` comments
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Mar 1, 2018

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

@Mark-Simulacrum

This comment has been minimized.

Copy link
Member

Mark-Simulacrum commented Mar 1, 2018

Perf started.

@eddyb

This comment has been minimized.

Copy link
Member Author

eddyb commented Mar 2, 2018

Latest perf results look much better, worse regression is inflate still but now only a bit under 30x.

@pietroalbini

This comment has been minimized.

Copy link
Member

pietroalbini commented Mar 12, 2018

Ping from triage! Do you still need this @eddyb?

@nikomatsakis

This comment has been minimized.

Copy link
Contributor

nikomatsakis commented Mar 12, 2018

I'm going to go ahead and close this -- @eddyb feel free to re-open. I'm assuming we don't want to merge? (Title is WIP..)

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.