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 = 3 the third time. #52212

Merged
merged 1 commit into from
Jul 14, 2018
Merged

Set opt-level = 3 the third time. #52212

merged 1 commit into from
Jul 14, 2018

Conversation

kennytm
Copy link
Member

@kennytm kennytm commented Jul 10, 2018

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 S-blocked for now.

@kennytm kennytm added S-blocked Status: Blocked on something else such as an RFC or other implementation work. S-waiting-on-perf Status: Waiting on a perf run to be completed. and removed S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Jul 10, 2018
@kennytm
Copy link
Member Author

kennytm commented Jul 11, 2018

@bors try

@bors
Copy link
Contributor

bors commented Jul 11, 2018

⌛ Trying commit e12b1b6 with merge 25ff830...

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
Copy link
Contributor

bors commented Jul 11, 2018

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

@kennytm
Copy link
Member Author

kennytm commented Jul 11, 2018

@rust-timer build 25ff830

@rust-timer
Copy link
Collaborator

Success: Queued 25ff830 with parent ae5b629, comparison URL.

@kennytm
Copy link
Member Author

kennytm commented Jul 11, 2018

The direct comparison is still not ready, an indirect comparison https://perf.rust-lang.org/compare.html?start=989fa053895a27fd40896335224b619843b7e58a&end=25ff830981232dd0cd40311f391e045fe8a4d1d0 is green everywhere.

For the NLL dashboard:

The ratio seems to be not regressing. Also nll-check for html5ever now no longer OOMs and have a concrete value (5303.40% 😳).

I believe this is now ready for review.

r? @alexcrichton


Edit: It seems the NLL comparison has been moved elsewhere, checking again.

@kennytm kennytm added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 11, 2018
@alexcrichton
Copy link
Member

@bors: r+

🥇

@bors
Copy link
Contributor

bors commented Jul 11, 2018

📌 Commit e12b1b6 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 Jul 11, 2018
@bors
Copy link
Contributor

bors commented Jul 12, 2018

⌛ Testing commit e12b1b6 with merge ece70aaac56d450315409b6267e7af11df272249...

@bors
Copy link
Contributor

bors commented Jul 12, 2018

💔 Test failed - status-travis

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

The job dist-x86_64-musl 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.
[00:40:07] rustc exited with signal: 11
[00:40:07] error: Could not compile `rustc_codegen_llvm`.
[00:40:07] 
[00:40:07] Caused by:
[00:40:07]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_codegen_llvm librustc_codegen_llvm/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 --cfg feature="jemalloc" --cfg feature="rustc_target" -C metadata=59947a3e30bae8dc -C extra-filename=-59947a3e30bae8dc --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-8ad444fff83fd31e.rlib --extern cc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libcc-045ff48d9624c2ec.rlib --extern env_logger=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libenv_logger-d3e4da29dff4b0f9.rlib --extern flate2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libflate2-71c000a93ab08660.rlib --extern jobserver=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-63253e888b306934.rlib --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblibc-a42764724b8925c2.rlib --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-04e3274d376b9056.rlib --extern num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libnum_cpus-a22d4014200af4d5.rlib --extern rustc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc-fcca861d29e847ff.so --extern rustc_demangle=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_demangle-e610f899821fc0a7.rlib --extern rustc_allocator=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_allocator-e808a07e1c9855a6.so --extern rustc_apfloat=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_apfloat-c535c43a3541f584.rlib --extern rustc_codegen_utils=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_codegen_utils-d2c17a0771f02c3b.so --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-9650fb6cb2ad30f0.so --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-defedb18b3f5bdc9.so --extern rustc_incremental=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_incremental-d7975d0ebf047aab.so --extern rustc_llvm=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_llvm-c3799067009945f1.rlib --extern rustc_mir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_mir-1d102037545ff1f0.so --extern rustc_platform_intrinsics=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_platform_intrinsics-f2248fc7d328db34.so --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-f8abc26e08e8d59a.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-8927c7dc7d2c8634.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-8927c7dc7d2c8634.rlib --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-1d00d60113504d8d.so --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-9e26ce1b39d203a0.so --extern tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libtempfile-81c1f80fdb2083db.rlib -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/miniz-sys-e4172e142f916e20/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/backtrace-sys-fff41ea2ab1b943b/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-86feba049a813162/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib -L native=/usr/lib/gcc/x86_64-linux-gnu/5` (exit code: 254)
[00:40:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/librustc_codegen_llvm/Cargo.toml" "--features" " jemalloc" "--message-format" "json"
[00:40:07] expected success, got: exit code: 101
[00:40:07] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1117:9
[00:40:07] travis_fold:start:stage1-rustc_codegen_llvm
travis_time:start:stage1-rustc_codegen_llvm
travis_fold:end:stage1-rustc_codegen_llvm

---
travis_time:end:03736988:start=1531383121067235325,finish=1531383121073810863,duration=6575538
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1fa284a0
$ head -30 ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
head: cannot open ‘./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers’ for reading: No such file or directory
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:04ced61d
$ dmesg | grep -i kill
$ dmesg | grep -i kill
[   10.417526] init: failsafe main process (1093) killed by TERM signal
[   41.745378] init: plymouth-upstart-bridge main process (510) killed by TERM signal
travis_fold:end:after_failure.5

Done. Your build exited with 1.

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)

1 similar comment
@rust-highfive
Copy link
Collaborator

The job dist-x86_64-musl 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.
[00:40:07] rustc exited with signal: 11
[00:40:07] error: Could not compile `rustc_codegen_llvm`.
[00:40:07] 
[00:40:07] Caused by:
[00:40:07]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_codegen_llvm librustc_codegen_llvm/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 --cfg feature="jemalloc" --cfg feature="rustc_target" -C metadata=59947a3e30bae8dc -C extra-filename=-59947a3e30bae8dc --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-8ad444fff83fd31e.rlib --extern cc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libcc-045ff48d9624c2ec.rlib --extern env_logger=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libenv_logger-d3e4da29dff4b0f9.rlib --extern flate2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libflate2-71c000a93ab08660.rlib --extern jobserver=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-63253e888b306934.rlib --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblibc-a42764724b8925c2.rlib --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-04e3274d376b9056.rlib --extern num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libnum_cpus-a22d4014200af4d5.rlib --extern rustc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc-fcca861d29e847ff.so --extern rustc_demangle=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_demangle-e610f899821fc0a7.rlib --extern rustc_allocator=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_allocator-e808a07e1c9855a6.so --extern rustc_apfloat=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_apfloat-c535c43a3541f584.rlib --extern rustc_codegen_utils=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_codegen_utils-d2c17a0771f02c3b.so --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-9650fb6cb2ad30f0.so --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-defedb18b3f5bdc9.so --extern rustc_incremental=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_incremental-d7975d0ebf047aab.so --extern rustc_llvm=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_llvm-c3799067009945f1.rlib --extern rustc_mir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_mir-1d102037545ff1f0.so --extern rustc_platform_intrinsics=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_platform_intrinsics-f2248fc7d328db34.so --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-f8abc26e08e8d59a.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-8927c7dc7d2c8634.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-8927c7dc7d2c8634.rlib --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-1d00d60113504d8d.so --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-9e26ce1b39d203a0.so --extern tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/deps/libtempfile-81c1f80fdb2083db.rlib -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/miniz-sys-e4172e142f916e20/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/backtrace-sys-fff41ea2ab1b943b/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-86feba049a813162/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib -L native=/usr/lib/gcc/x86_64-linux-gnu/5` (exit code: 254)
[00:40:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/librustc_codegen_llvm/Cargo.toml" "--features" " jemalloc" "--message-format" "json"
[00:40:07] expected success, got: exit code: 101
[00:40:07] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1117:9
[00:40:07] travis_fold:start:stage1-rustc_codegen_llvm
travis_time:start:stage1-rustc_codegen_llvm
travis_fold:end:stage1-rustc_codegen_llvm

---
travis_time:end:03736988:start=1531383121067235325,finish=1531383121073810863,duration=6575538
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1fa284a0
$ head -30 ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
head: cannot open ‘./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers’ for reading: No such file or directory
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:04ced61d
$ dmesg | grep -i kill
$ dmesg | grep -i kill
[   10.417526] init: failsafe main process (1093) killed by TERM signal
[   41.745378] init: plymouth-upstart-bridge main process (510) killed by TERM signal
travis_fold:end:after_failure.5

Done. Your build exited with 1.

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)

@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 12, 2018
@kennytm
Copy link
Member Author

kennytm commented Jul 12, 2018

[00:39:39] [TIMING] Rustc { target: "x86_64-unknown-linux-gnu", compiler: Compiler { stage: 1, host: "x86_64-unknown-linux-gnu" } } -- 975.434
[00:39:39] Building stage1 codegen artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu, llvm)
[00:39:40]    Compiling build_helper v0.1.0 (file:///checkout/src/build_helper)
[00:39:40]    Compiling rustc_codegen_llvm v0.0.0 (file:///checkout/src/librustc_codegen_llvm)
[00:39:40]    Compiling cc v1.0.17
[00:39:41]    Compiling rustc_llvm v0.0.0 (file:///checkout/src/librustc_llvm)
[00:39:47] [RUSTC-TIMING] cc test:false 6.935
[00:39:48] [RUSTC-TIMING] rustc_llvm test:false 1.039
[00:40:07] [RUSTC-TIMING] rustc_codegen_llvm test:false 19.431
[00:40:07] rustc exited with signal: 11
[00:40:07] error: Could not compile `rustc_codegen_llvm`.

rustc segfault when linking rustc_codegen_llvm at stage1 in dist-x86_64-musl. Needs to investigate.

@kennytm kennytm changed the title Set opt-level = 3 the third time. [WIP] Set opt-level = 3 the third time. Jul 12, 2018
@kennytm
Copy link
Member Author

kennytm commented Jul 12, 2018

The segfault is spurious 😢

@kennytm kennytm added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 13, 2018
@kennytm
Copy link
Member Author

kennytm commented Jul 13, 2018

Blocked by #52333.

I'm not confident to proceed without any tools to determine where the segfault is happening, in case we want to trace the spurious failure in the future (if it happens again).

@kennytm kennytm changed the title [WIP] Set opt-level = 3 the third time. Set opt-level = 3 the third time. Jul 13, 2018
@kennytm
Copy link
Member Author

kennytm commented Jul 14, 2018

@bors r=alexcrichton

@bors
Copy link
Contributor

bors commented Jul 14, 2018

📌 Commit 6c635b7 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-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Jul 14, 2018
@bors
Copy link
Contributor

bors commented Jul 14, 2018

⌛ Testing commit 6c635b7 with merge 1731f0a...

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.
@bors
Copy link
Contributor

bors commented Jul 14, 2018

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

@bors bors merged commit 6c635b7 into rust-lang:master Jul 14, 2018
@kennytm kennytm deleted the o3-again branch July 14, 2018 13:40
kennytm added a commit to kennytm/rust that referenced this pull request Jul 14, 2018
…ton"

This reverts commit 1731f0a, reversing
changes made to 0a8275f.
@kennytm
Copy link
Member Author

kennytm commented Jul 14, 2018

Unfortunately there's strong enough evident that the segfault is real, so we're going to revert this PR until the cause (#52378) is understood. Maybe we could try again when LLVM 7 is finalized.

bors added a commit that referenced this pull request Jul 14, 2018
Revert #52212 (revert set opt-level = 3)

Setting -O3 causes LLVM to spuriously segfault at least on Linux. This PR reverts to -O2.

cc #52378
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.

5 participants