Skip to content

Avoid FCA loads and extractvalue when copying fat pointers #29963

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

Merged
merged 1 commit into from
Nov 22, 2015

Conversation

dotdash
Copy link
Contributor

@dotdash dotdash commented Nov 20, 2015

Since fat pointers do not qualify as structural types, they got copied
using load_ty and store_ty, which means that we load an FCA and use
extractvalue to get the components of the fat pointer. This breaks
certain optimizations in LLVM.

Found via apasel422/ref_count#13

Since fat pointers do not qualify as structural types, they got copied
using load_ty and store_ty, which means that we load an FCA and use
extractvalue to get the components of the fat pointer. This breaks
certain optimizations in LLVM.

Found via apasel422/ref_count#13
@rust-highfive
Copy link
Contributor

r? @brson

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

@eddyb
Copy link
Member

eddyb commented Nov 21, 2015

@bors r+

@bors
Copy link
Collaborator

bors commented Nov 21, 2015

📌 Commit 6741f33 has been approved by eddyb

bors added a commit that referenced this pull request Nov 21, 2015
Since fat pointers do not qualify as structural types, they got copied
using load_ty and store_ty, which means that we load an FCA and use
extractvalue to get the components of the fat pointer. This breaks
certain optimizations in LLVM.

Found via apasel422/ref_count#13
@bors
Copy link
Collaborator

bors commented Nov 21, 2015

⌛ Testing commit 6741f33 with merge eb19d02...

@bors bors merged commit 6741f33 into rust-lang:master Nov 22, 2015
@dotdash dotdash deleted the fat_copy branch January 31, 2016 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants