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

Add preliminary support for inline assembly for msp430. #93219

Merged
merged 1 commit into from
Jan 24, 2022

Conversation

cr1901
Copy link
Contributor

@cr1901 cr1901 commented Jan 22, 2022

The llvm_asm macro 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 inline asm macro 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 objdump disassemblies between the old llvm_asm and the new asm syntax.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jan 22, 2022
@rust-highfive
Copy link
Collaborator

r? @lcnr

(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 Jan 22, 2022
@rust-log-analyzer

This comment has been minimized.

@cr1901
Copy link
Contributor Author

cr1901 commented Jan 23, 2022

Oops... I need to update gcc and cranelift backends. I'll do that either tonight in a few hours or tomorrow morning.

@Amanieu
Copy link
Member

Amanieu commented Jan 23, 2022

@bors r+

@bors
Copy link
Contributor

bors commented Jan 23, 2022

📌 Commit 19809ed has been approved by Amanieu

@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 Jan 23, 2022
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 bors merged commit 552b564 into rust-lang:master Jan 24, 2022
@rustbot rustbot added this to the 1.60.0 milestone Jan 24, 2022
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants