Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.
# for free to join this conversation on GitHub. Already have an account? # 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