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

Set opt-level to 3 #50329

Merged
merged 1 commit into from
May 2, 2018
Merged

Set opt-level to 3 #50329

merged 1 commit into from
May 2, 2018

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented Apr 30, 2018

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 30, 2018
@ishitatsuyuki
Copy link
Contributor

@Zoxc Do you have information on whether the codegen issue has been fixed? Also, you can just remove the profile section to use the default opt-level=3.

@matthiaskrgr
Copy link
Member

previous discussion: #48204

@Zoxc
Copy link
Contributor Author

Zoxc commented Apr 30, 2018

@bors try

@bors
Copy link
Contributor

bors commented Apr 30, 2018

⌛ Trying commit b83883b76f155f15e2a6e9de6ca53f46175d41c7 with merge c692cc25af00b8e958656116efc00c364dfee9a7...

@ishitatsuyuki
Copy link
Contributor

... try what? The point is Windows which needs AppVeyor.

@Zoxc
Copy link
Contributor Author

Zoxc commented Apr 30, 2018

The try build is for a perf run.

Locally opt-level=2 passes as many tests as opt-level=3 for me on Windows. I see that the Windows crashes were spurious, so I can try building it a few times.

@bors
Copy link
Contributor

bors commented Apr 30, 2018

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

@Mark-Simulacrum
Copy link
Member

Perf has been queued, but I doubt it'll change much since last time.

@alexcrichton
Copy link
Member

In the other PR it's claimed that LLVM 6 landed in the meantime but the segfault on the previous PR happened on a commit tagged for our LLVM 6.0 branch.

In that sense it's seems highly unlikely this is fixed?

@Zoxc
Copy link
Contributor Author

Zoxc commented May 1, 2018

Perf results: http://perf.rust-lang.org/compare.html?start=f900bcf35c9ed4b8f911a37df3949f82669b9bd8&end=c692cc25af00b8e958656116efc00c364dfee9a7&stat=instructions%3Au

The wall-time results of the previous run is suspiciously good: http://perf.rust-lang.org/compare.html?start=b1f8e6fb06d7362eeb2065347a7db94e76b1cb2f&end=bd789f974e73497bcb8183e75d270e30ca07fdc3&stat=wall-time

@alexcrichton We updated from a version close to 6 to the actual 6 release, and that fixed at least one bug causing segfaults for me. I've built this locally (with x.py build) 6 times and there were no crashes.

@alexcrichton
Copy link
Member

Ok if LLVM fixes landed in the meantime let's see how this pans out on CI

@bors: r+

@bors
Copy link
Contributor

bors commented May 1, 2018

📌 Commit b83883b has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 1, 2018
Copy link
Contributor

@ishitatsuyuki ishitatsuyuki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please removed the now obsolete profile section along with the comments, as I commented above.

@Zoxc
Copy link
Contributor Author

Zoxc commented May 1, 2018

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented May 1, 2018

📌 Commit aad9840 has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented May 2, 2018

⌛ Testing commit aad9840 with merge 5f3994f...

bors added a commit that referenced this pull request May 2, 2018
@bors
Copy link
Contributor

bors commented May 2, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 5f3994f to master...

@bors bors merged commit aad9840 into rust-lang:master May 2, 2018
@alexcrichton
Copy link
Member

I feel like I've been seeing a lot of segfaults on Windows CI in the last few days which may be a result of this change. @kennytm do you think you've seen an uptick in Windows segfaults over the past few days?

@kennytm
Copy link
Member

kennytm commented May 6, 2018

@alexcrichton This PR was merged at 2018-05-02T10:13:06Z, all spurious errors we've recorded since then are:

As far as the records go, there is no obvious uptick in Windows segfaults.

@alexcrichton
Copy link
Member

Despite instruction counts being pretty green across the board this PR interestingly relatively severly regressed wall time in a number of benchmarks, mostly related to NLL

@Zoxc Zoxc deleted the opt-3 branch May 10, 2018 15:22
SimonSapin added a commit to SimonSapin/rust that referenced this pull request May 29, 2018
This reverts commit aad9840.

Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker)
causes unit tests to sefault when compiled with some versions of XCode:
rust-lang#50867

It also appears to cause some segfaults on Windows:
rust-lang#50329 (comment)

… and regressions in some rustc performance benchmarks:
rust-lang#50329 (comment)
bors added a commit that referenced this pull request May 29, 2018
Revert "Set opt-level to 3"

This reverts commit aad9840.

Level 3 (possibly indirectly, the underlying bug might be in XCode’s linker) causes unit tests to sefault when compiled with some versions of XCode: #50867

It also appears to cause some segfaults on Windows: #50329 (comment), and regressions in some rustc performance benchmarks: #50329 (comment)
bors added a commit that referenced this pull request Jul 11, 2018
Set opt-level = 3 the third time.

This PR reverts #51165 (set -O2 to fix #50867),
which reverted #50329 (set -O3),
which was second attempt of #48204 (set -O3, closed due to Windows segfault that is fixed now),
which reverted #42123 (set -O2 to fix spurious Windows segfaults),
which reverted #41967 (set -O3).

Last time we've found that setting -O3 regressed the wall time of NLL (#50329 (comment)), so we may need another perf run to confirm. I'd like to check this *after* the LLVM 7 upgrade #51966 has been merged, so marking this as <kbd>S-blocked</kbd> for now.
bors added a commit that referenced this pull request Jul 14, 2018
Set opt-level = 3 the third time.

This PR reverts #51165 (set -O2 for fixing #50867),
which reverted #50329 (set -O3),
which was second attempt of #48204 (set -O3, closed due to Windows segfault that is fixed now),
which reverted #42123 (set -O2 to fix spurious Windows segfaults),
which reverted #41967 (set -O3).

Since we have found the root cause of #50867, this optimization could be tried again.

Last time we've found that setting -O3 regressed the wall time of NLL (#50329 (comment)), so we may need another perf run to confirm. I'd like to check this *after* the LLVM 7 upgrade #51966 has been merged, so marking this as <kbd>S-blocked</kbd> for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants