-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Partially stabilize LoongArch target features #135015
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
base: master
Are you sure you want to change the base?
Partially stabilize LoongArch target features #135015
Conversation
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer |
cb6584c
to
29c94f5
Compare
This comment has been minimized.
This comment has been minimized.
Thank you! Other than |
29c94f5
to
4c59f0d
Compare
This will need a PR for documentation at https://github.com/rust-lang/reference/blob/master/src/attributes/codegen.md, and a lang (+whoever?) FCP. |
("relax", STABLE, &[]), | ||
("ual", STABLE, &[]), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
relax
refers to linker relaxation support and may not be appropriate to expose as a target feature.ual
refers to support for unaligned memory access, similar tostrict-align
on ARM targets. It's probably fine to stabilize as-is, but we may want to double-check with other targets if we want to have a consistent feature name between all of them (alternatively it's also fine to make the feature target-specific).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also to be clear, ual
can only affect how unaligned accesses are codegen'd, and nothing else. See this recent discussion on Zulip.
If we have target feature docs somewhere, they should clarify hat unaligned accesses are still UB except when performed via {read,write}_unaligned
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with skipping these two target features and stabilizing them at a more appropriate time.
r? lang |
|
4c59f0d
to
71e17a0
Compare
☔ The latest upstream changes (presumably #134794) made this pull request unmergeable. Please resolve the merge conflicts. |
71e17a0
to
49b6947
Compare
☔ The latest upstream changes (presumably #138523) made this pull request unmergeable. Please resolve the merge conflicts. |
49b6947
to
f4c604d
Compare
f4c604d
to
7cbc101
Compare
7cbc101
to
d5c5a4a
Compare
This comment has been minimized.
This comment has been minimized.
d5c5a4a
to
1f2536f
Compare
r? lang (A gentle ping. :) |
I think this is ready for final comment period. Could someone from the lang team take a look? cc @rust-lang/lang |
Team member @traviscross has proposed to merge this. The next step is review by the rest of the tagged team members: Concerns:
Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
@rfcbot reviewed |
@rfcbot concern what-about-d-and-f In #135015 (comment), @RalfJung raised a concern:
Let's figure out the answer to that. |
Ah I think the point is, there are now ABI checks set up for this, so the target features should be safe. I hope they are, I don't have any experience with this target. The target is extremely similar to RISC-V though, and RISC-V has a lot more eyes on it and more people have experience in it, so it may make sense to stabilize "f" and "d" there first if we are confident about this. @Amanieu do you know if there are any blockers for that? |
Also, @heiher given that 4 of the features on the original list have subtle ABI questions, could you double checks that all the other features are harmless in that regard? |
|
@rfcbot reviewed |
Stabilization PR for the LoongArch target features. This PR stabilizes some of the target features tracked by #44839.
Specifically, this PR stabilizes the following target features:
Docs PR: rust-lang/reference#1707
r? @Amanieu