Skip to content

Conversation

alexcrichton
Copy link
Member

It's no longer necessary now that bitcode is embedded into object files.

This change meant that WorkProductFileKind::Bytecode is no longer
necessary, which means that type is no longer necessary, which allowed
several places in the code to become simpler.

This commit was written by @nnethercote in #70458 but that didn't land. In the meantime though we managed to land it in #71528 and that doesn't seem to be causing too many fires, so I'm re-sending this patch!

It's no longer necessary now that bitcode is embedded into object files.

This change meant that `WorkProductFileKind::Bytecode` is no longer
necessary, which means that type is no longer necessary, which allowed
several places in the code to become simpler.
@rust-highfive
Copy link
Contributor

r? @cramertj

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 1, 2020
@alexcrichton
Copy link
Member Author

r? @nnethercote

@rust-highfive rust-highfive assigned nnethercote and unassigned cramertj May 1, 2020
@nnethercote
Copy link
Contributor

Looks fine, but I'd like to see a perf run first, just to know if it has much effect.

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion

@bors
Copy link
Collaborator

bors commented May 1, 2020

⌛ Trying commit d4e5e1b with merge 032fb238cef1c57960742f33db0829b5f52a23a1...

@bors
Copy link
Collaborator

bors commented May 2, 2020

☀️ Try build successful - checks-azure
Build commit: 032fb238cef1c57960742f33db0829b5f52a23a1 (032fb238cef1c57960742f33db0829b5f52a23a1)

@rust-timer
Copy link
Collaborator

Queued 032fb238cef1c57960742f33db0829b5f52a23a1 with parent 7f65393, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking try commit 032fb238cef1c57960742f33db0829b5f52a23a1, comparison URL.

@Mark-Simulacrum
Copy link
Member

Performance looks essentially neutral, at least by instruction counts - which is what we would expect, I think, as copying into the incr comp cache isn't heavy on instructions presumably.

@bors r=nnethercote

@bors
Copy link
Collaborator

bors commented May 2, 2020

📌 Commit d4e5e1b has been approved by nnethercote

@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 2, 2020
@nnethercote
Copy link
Contributor

The wall time results are noisy as always, but look like a slight improvement.

@bors
Copy link
Collaborator

bors commented May 4, 2020

⌛ Testing commit d4e5e1b with merge 649b632...

@bors
Copy link
Collaborator

bors commented May 4, 2020

☀️ Test successful - checks-azure
Approved by: nnethercote
Pushing 649b632 to master...

pub enum WorkProductFileKind {
Object,
Bytecode,
pub saved_files: Vec<String>,
Copy link
Member

Choose a reason for hiding this comment

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

This could become Option<String> as only a single object file will ever be saved for a codegen unit.

@alexcrichton alexcrichton deleted the no-bitcode-in-cache branch July 23, 2020 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. 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