Add preliminary support for inline assembly for msp430.#93219
Merged
bors merged 1 commit intorust-lang:masterfrom Jan 24, 2022
Merged
Add preliminary support for inline assembly for msp430.#93219bors merged 1 commit intorust-lang:masterfrom
bors merged 1 commit intorust-lang:masterfrom
Conversation
Contributor
|
r? @lcnr (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
Contributor
Author
|
Oops... I need to update |
74e01e1 to
19809ed
Compare
Member
|
@bors r+ |
Collaborator
|
📌 Commit 19809ed has been approved by |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 23, 2022
…askrgr Rollup of 8 pull requests Successful merges: - rust-lang#91526 (rustc_lint: Some early linting refactorings) - rust-lang#92555 (Implement RFC 3151: Scoped threads.) - rust-lang#93213 (Fix `let_chains` and `if_let_guard` feature flags) - rust-lang#93219 (Add preliminary support for inline assembly for msp430.) - rust-lang#93226 (Normalize field access types during borrowck) - rust-lang#93227 (Liberate late bound regions when collecting GAT substs in wfcheck) - rust-lang#93229 (Remove DiagnosticBuilder.quiet) - rust-lang#93234 (rustc_mir_itertools: Avoid needless `collect` with itertools) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
bors bot
added a commit
to rust-embedded/svd2rust
that referenced
this pull request
Jan 29, 2022
577: Bring documentation on MSP430 up to date. r=burrbull a=cr1901 Crate versions must be `0.3.0` or higher now; minor version `0.2.0` and below is unsupported due to (among other things) bumping to bare-metal `1.0.0` and [using](rust-lang/rust#93219) Rust inline assembly to implement useful operations. Co-authored-by: William D. Jones <thor0505@comcast.net>
bors bot
added a commit
to rust-embedded/svd2rust
that referenced
this pull request
Jan 30, 2022
577: Bring documentation on MSP430 up to date. r=burrbull a=cr1901 Crate versions must be `0.3.0` or higher now; minor version `0.2.0` and below is unsupported due to (among other things) bumping to bare-metal `1.0.0` and [using](rust-lang/rust#93219) Rust inline assembly to implement useful operations. Co-authored-by: William D. Jones <thor0505@comcast.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
llvm_asmmacro was removed recently, and the MSP430 backend relies on inline assembly to build useful embedded apps. I conveniently "found" time to implement basic support for the new inlineasmmacro syntax with the help of @Amanieu :D.In addition to tests in the compiler, I have tested this locally against deployed MSP430 code and have not found any noticeable differences in firmware operation or
objdumpdisassemblies between the oldllvm_asmand the newasmsyntax.