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

Use separate memcpy source/dest alignments in LLVM 7 #49740

Closed
hanna-kruppe opened this issue Apr 6, 2018 · 0 comments
Closed

Use separate memcpy source/dest alignments in LLVM 7 #49740

hanna-kruppe opened this issue Apr 6, 2018 · 0 comments
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@hanna-kruppe
Copy link
Contributor

LLVM trunk recently switched from a single alignment argument that applies to source and destination to annotating both the source and destination pointers with their respective alignment. See https://lists.llvm.org/pipermail/llvm-dev/2018-March/122143.html and the rest of that thread for details.

After we upgrade to LLVM 7, we should try to make use of that anywhere we know that the source and destination have different alignments. cc @eddyb

@hanna-kruppe hanna-kruppe changed the title Use separate source/dest alignments in LLVM 7 Use separate memcpy source/dest alignments in LLVM 7 Apr 6, 2018
@XAMPPRocky XAMPPRocky added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 30, 2018
bors added a commit that referenced this issue Nov 8, 2018
Support memcpy/memmove with differing src/dst alignment

If LLVM 7 is used, generate memcpy/memmove with differing src/dst alignment. I've added new FFI functions to construct these through the builder API, which is more convenient than dealing with differing intrinsic signatures depending on the LLVM version.

Fixes #49740.
Mark-Simulacrum added a commit to Mark-Simulacrum/rust that referenced this issue Nov 9, 2018
Support memcpy/memmove with differing src/dst alignment

If LLVM 7 is used, generate memcpy/memmove with differing src/dst alignment. I've added new FFI functions to construct these through the builder API, which is more convenient than dealing with differing intrinsic signatures depending on the LLVM version.

Fixes rust-lang#49740.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-enhancement Category: An issue proposing an enhancement or a PR with one. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

2 participants