Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upReenable the MergeFunctions pass #49479
Conversation
rust-highfive
assigned
alexcrichton
Mar 29, 2018
This comment has been minimized.
This comment has been minimized.
|
…Aaaand I forgot the obvious: @rust-lang/wg-codegen |
oli-obk
reviewed
Mar 29, 2018
| @@ -431,7 +431,7 @@ extern "C" void LLVMRustConfigurePassManagerBuilder( | |||
| bool MergeFunctions, bool SLPVectorize, bool LoopVectorize, | |||
| const char* PGOGenPath, const char* PGOUsePath) { | |||
| // Ignore mergefunc for now as enabling it causes crashes. | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Please do a crater run.
…On Thu, Mar 29, 2018, 13:43 Oliver Schneider ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/rustllvm/PassWrapper.cpp
<#49479 (comment)>:
> @@ -431,7 +431,7 @@ extern "C" void LLVMRustConfigurePassManagerBuilder(
bool MergeFunctions, bool SLPVectorize, bool LoopVectorize,
const char* PGOGenPath, const char* PGOUsePath) {
// Ignore mergefunc for now as enabling it causes crashes.
remove this outdated comment, too?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#49479 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AApc0tt4acwAKZF7dk3OAZZdbleuyKNXks5tjMjxgaJpZM4TALT->
.
|
This comment has been minimized.
This comment has been minimized.
|
r=me when/if that passes.
…On Thu, Mar 29, 2018, 14:06 Simonas Kazlauskas ***@***.***> wrote:
Please do a crater run.
On Thu, Mar 29, 2018, 13:43 Oliver Schneider ***@***.***>
wrote:
> ***@***.**** commented on this pull request.
> ------------------------------
>
> In src/rustllvm/PassWrapper.cpp
> <#49479 (comment)>:
>
> > @@ -431,7 +431,7 @@ extern "C" void LLVMRustConfigurePassManagerBuilder(
> bool MergeFunctions, bool SLPVectorize, bool LoopVectorize,
> const char* PGOGenPath, const char* PGOUsePath) {
> // Ignore mergefunc for now as enabling it causes crashes.
>
> remove this outdated comment, too?
>
> —
> You are receiving this because you are on a team that was mentioned.
> Reply to this email directly, view it on GitHub
> <#49479 (review)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AApc0tt4acwAKZF7dk3OAZZdbleuyKNXks5tjMjxgaJpZM4TALT->
> .
>
|
This comment has been minimized.
This comment has been minimized.
|
cc @rust-lang/infra for the crater run. I know there’s a bot for this, but no idea what the bot is :) |
This comment has been minimized.
This comment has been minimized.
|
@bors try There's no bot running yet, all manual |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Mar 29, 2018
kennytm
added
the
S-waiting-on-crater
label
Mar 29, 2018
This comment has been minimized.
This comment has been minimized.
|
|
nox
force-pushed the
nox:merge-funcs
branch
from
84135bf
to
13ed61c
Mar 29, 2018
This comment has been minimized.
This comment has been minimized.
|
I removed the obsolete comment. |
This was referenced Mar 30, 2018
This comment has been minimized.
This comment has been minimized.
|
Crater run started. |
nox
referenced this pull request
Apr 3, 2018
Open
Generic function produces multiple identical methods in ASM. #46070
This comment has been minimized.
This comment has been minimized.
|
(apologies for the delay, I fell ill last week) Hi @nagisa (crater requester), @alexcrichton (PR reviewer)! Crater results are at: http://cargobomb-reports.s3.amazonaws.com/pr-49479/index.html. 'Blacklisted' crates (spurious failures etc) can be found here. If you see any spurious failures not on the list, please make a PR against that file. (interested observers: Crater is a tool for testing the impact of changes on the crates.io ecosystem. You can find out more at the repo if you're curious) |
This comment has been minimized.
This comment has been minimized.
|
@nagisa None of those regressions seem related to the PR. Am I wrong about that? |
kennytm
added
S-waiting-on-review
and removed
S-waiting-on-crater
labels
Apr 8, 2018
This comment has been minimized.
This comment has been minimized.
|
Actually as @aidanhs points out on IRC, the addr2line 0.5.0 failure is probably related:
That test checks some symbols from the test executable itself, which makes me believe that the discrepancy with the system Given the executable manages to run (barring the test failure), this can mean various things:
|
This comment has been minimized.
This comment has been minimized.
|
Also tasks-framework 0.1.0:
I'll try to reproduce that locally, though I'm not on Linux. |
This comment has been minimized.
This comment has been minimized.
|
The
|
This comment has been minimized.
This comment has been minimized.
|
@nagisa I guess I can't read cargobomb reports correctly, hah! I'll run all of that on macOS and see what I can reproduce during next week. |
This comment has been minimized.
This comment has been minimized.
|
I've seen glib and nanopow timeouts in recent memory on other crater runs so wouldn't worry about those. |
This comment has been minimized.
This comment has been minimized.
|
Ping from triage! The crater run on this is now complete, how should we move forward? |
This comment has been minimized.
This comment has been minimized.
|
This is pending review of issues by @nox. I believe they couldn’t reproduce issues on OS X and were going to try to reproduce on a Linux box. |
This comment has been minimized.
This comment has been minimized.
|
So I tried reproducing those failures on a linux machine.
X: Build or tests failed I also tried the build on some unreleased projects I have, it brought the size down from 2.3MB to 1.5MB |
This comment has been minimized.
This comment has been minimized.
|
So… LGTM? |
This comment has been minimized.
This comment has been minimized.
|
I amended the second commit with an |
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
|
bors
added
S-waiting-on-bors
and removed
S-waiting-on-author
labels
May 15, 2018
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
May 16, 2018
This comment has been minimized.
This comment has been minimized.
|
|
bors
added
S-waiting-on-review
and removed
S-waiting-on-bors
labels
May 16, 2018
This comment has been minimized.
This comment has been minimized.
|
The job Click to expand the log.
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 |
1 similar comment
This comment has been minimized.
This comment has been minimized.
|
The job Click to expand the log.
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 |
This comment has been minimized.
This comment has been minimized.
|
Timeout building LLVM. @bors retry |
bors
added
S-waiting-on-bors
and removed
S-waiting-on-review
labels
May 16, 2018
This comment has been minimized.
This comment has been minimized.
|
@bors p=12 |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
May 16, 2018
This comment has been minimized.
This comment has been minimized.
|
|
bors
merged commit 5701779
into
rust-lang:master
May 16, 2018
This comment has been minimized.
This comment has been minimized.
|
FTR llvm-mirror/llvm@be07815 and llvm-mirror/llvm@63bcfe3 will be part of LLVM 6.0.1, at which point this could work with system llvm as well. |
nox commentedMar 29, 2018
•
edited
The crash that happened in #23566 doesn't happen anymore with the LLVM mergefunc
pass enabled and it hugely reduces code size (for example it shaves off 10% of the
final Servo executable). This patch reenables it.
For those wondering, here are the docs from LLVM about this pass.