-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Introduce assembly tests suite #58791
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
The only thing that worries me a bit is that updating LLVM might require updating many tests, but I guess that's also kind of the point. In any case this looks much better than |
📌 Commit 5c7ec6c has been approved by |
Very likely, having more and more "precise" tests to verify only smaller and basic parts would minimise the chance that backend changes do much damage. Let's hope so and write the cases wisely 🙂 |
☔ The latest upstream changes (presumably #58330) made this pull request unmergeable. Please resolve the merge conflicts. |
@denzp Could you also document this in the Testing chapter of the rustc-guide please? |
I've solved conflicts and opened a PR in the rustc-guide: rust-lang/rustc-dev-guide#289 |
@bors: r+ |
📌 Commit 60f1644 has been approved by |
⌛ Testing commit 60f1644 with merge 2fba954162ad8523f304ce0f81598d674e26f44d... |
💔 Test failed - checks-travis |
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors: retry |
⌛ Testing commit 60f1644 with merge 2a1d774ec72b3a69aa6b6511ee07cb3bfd651b5a... |
💔 Test failed - checks-travis |
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
cc @jackpot51 it looks like the redox apt servers may be down? We're getting this on CI:
Do you know if this could be fixed in the near future? If not no worries! We'll just need to disable the redox targets in nightly until it's fixed |
cc #59257 |
@alexcrichton it's okay to wait with this PR until #59257 is merged. I guess it should happend pretty soon, because there is a rollup going on #59298. |
#59257 is merged. Could this PR be unlocked? |
@bors: retry |
Introduce assembly tests suite The change introduces a new test suite - **Assembly** tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (`i128` and libcalls in the past, and still full atomics support) due to different reasons. Prior to this change, basic NVPTX assembly tests were implemented within `run-make` suite. Now, it's easier to write additional and maintain existing tests for the target. cc @gnzlbg @peterhj cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967
☀️ Test successful - checks-travis, status-appveyor |
This is a port of rust-lang/rust#58791
This is a port of rust-lang/rust#58791
compiletest: Simplify the choice of `--emit` mode for assembly tests Tiny little cleanup that I noticed while working on rust-lang#131524. No functional change. Historically, the original code structure (rust-lang#58791) predates the `Emit` enum (rust-lang#103298), so it was manually adding `--emit` flags to the compiler invocation. But now the match can just evaluate to the appropriate `Emit` value directly.
Rollup merge of rust-lang#131525 - Zalathar:emit-asm, r=jieyouxu compiletest: Simplify the choice of `--emit` mode for assembly tests Tiny little cleanup that I noticed while working on rust-lang#131524. No functional change. Historically, the original code structure (rust-lang#58791) predates the `Emit` enum (rust-lang#103298), so it was manually adding `--emit` flags to the compiler invocation. But now the match can just evaluate to the appropriate `Emit` value directly.
The change introduces a new test suite - Assembly tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (
i128
and libcalls in the past, and still full atomics support) due to different reasons.Prior to this change, basic NVPTX assembly tests were implemented within
run-make
suite. Now, it's easier to write additional and maintain existing tests for the target.cc @gnzlbg @peterhj
cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967