asm: Allow the use of r8-r14 as clobbers on Thumb1#93877
asm: Allow the use of r8-r14 as clobbers on Thumb1#93877bors merged 1 commit intorust-lang:masterfrom
Conversation
|
r? @jackh726 (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Not my area of expertise r? rust-lang/compiler |
|
Not mine either... |
|
r? @nagisa |
compiler/rustc_target/src/asm/mod.rs
Outdated
There was a problem hiding this comment.
I wonder if it wouldn't make sense to proactively make this a tri-state enum describing the context (clobber, input, output). I can imagine it being useful when we decide to actually start adding constraint classes that are applicable to input or output only.
And today it would serve as a way to avoid bool proliferation.
There was a problem hiding this comment.
I have a followup PR based on this one which is a pain to rebase. I'll make the change there.
|
LGTM r=me with or without replacement of the bool. |
|
@bors r=nagisa |
|
📌 Commit 5ab3483b360dae11f92c9e8fd7a90035934f60e0 has been approved by |
There was a problem hiding this comment.
Shouldn't this be false? Would this permit inout("r8") 1 => _?
There was a problem hiding this comment.
That's still a clobber just like out("r8") _ is.
There was a problem hiding this comment.
Actually that's a good point, this is incorrect since we don't want to allow r8 to be used as an input in Thumb1.
There was a problem hiding this comment.
Perhaps the name could be clobber_only instead of is_clobber to make it more clear. And we might want an unit test.
|
@bors r- |
Previously these were entirely disallowed, except for r11 which was allowed by accident.
|
@bors r=nagisa |
|
📌 Commit 5ab3483b360dae11f92c9e8fd7a90035934f60e0 has been approved by |
|
@bors r=nagisa |
|
📌 Commit 11250b8 has been approved by |
…askrgr Rollup of 10 pull requests Successful merges: - rust-lang#89892 (Suggest `impl Trait` return type when incorrectly using a generic return type) - rust-lang#91675 (Add MemTagSanitizer Support) - rust-lang#92806 (Add more information to `impl Trait` error) - rust-lang#93497 (Pass `--test` flag through rustdoc to rustc so `#[test]` functions can be scraped) - rust-lang#93814 (mips64-openwrt-linux-musl: correct soft-foat) - rust-lang#93847 (kmc-solid: Use the filesystem thread-safety wrapper) - rust-lang#93877 (asm: Allow the use of r8-r14 as clobbers on Thumb1) - rust-lang#93892 (Only mark projection as ambiguous if GAT substs are constrained) - rust-lang#93915 (Implement --check-cfg option (RFC 3013), take 2) - rust-lang#93953 (Add the `known-bug` test directive, use it, and do some cleanup) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Previously these were entirely disallowed, except for r11 which was allowed by accident.
cc @hudson-ayers