add -Zforce-intrinsic-fallback flag#158377
Conversation
|
cc @bjorn3
|
|
r? @adwinwhite rustbot has assigned @adwinwhite. Use Why was this reviewer chosen?The reviewer was selected based on:
|
-Zforce_intrinsic_fallback flag-Zforce-intrinsic-fallback flag
5c1f7b7 to
c9f5a33
Compare
|
r? codegen |
c9f5a33 to
5da2144
Compare
This comment has been minimized.
This comment has been minimized.
| @@ -0,0 +1,71 @@ | |||
| //@ add-minicore | |||
| //@ assembly-output: emit-asm | |||
There was a problem hiding this comment.
I'm kinda puzzled here: why does this need assembly output? If it wants to be checking assembly should it be in assembly-llvm instead? For that matter, why does it need minicore?
Could this just be a normal codegen test that calls std::intrinsics::sqrtf32? Looking at llvm-ir should be pretty portable for it, no? (Especially with -C no-prepopulate-passes so it just sees what we emit, not post-optimization IR.)
There was a problem hiding this comment.
Right, this was an assembly test originally, but LLVM made more sense.
I've made it generic now, with -C no-prepopulate-passes -Copt-level=3 so hopefully the IR should be stable enough.
There was a problem hiding this comment.
Also given that you've now looked at this code a bunch, maybe you can review it?
76314f6 to
69d7670
Compare
|
I got here eventually! @bors r+ |
…k, r=saethlin add `-Zforce-intrinsic-fallback` flag Add a flag that forces the use of the fallback body (if one exists), so that we can test that these fallback implementations actually work. cc rust-lang#150946 cc [#t-compiler > testing intrinsic fallback bodies](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/testing.20intrinsic.20fallback.20bodies/with/606299558)
Rollup of 18 pull requests Successful merges: - #158692 (Add release notes for 1.96.1) - #134021 (Implement `IntoIterator` for `[&[mut]] Box<[T; N], A>`) - #152860 (Port the `without_debuginfo` test from `backtrace-rs` to the testsuite) - #155932 (MIR Call terminator: evaluate destination place before arguments) - #156777 (Add -Zautodiff_post_passes flag to limit which llvm passes to run after enzyme to make autodiff tests more robust) - #157151 (JSON target specs: remove 'x86-softfloat' compatibility alias) - #157835 (expand free alias types in the auto-trait orphan check) - #158377 (add `-Zforce-intrinsic-fallback` flag) - #158434 (delegation: refactor AST -> HIR lowering) - #158552 (make some tidy errors around python easier to understand) - #158624 (borrowck: Introduce BlameConstraint::to_obligation_cause_from_path()) - #158704 (Optimize `ArrayChunks::try_rfold` with `DoubleEndedIterator::next_chunk_back`) - #158711 (library: Comment on libtest's dicey internal soundness) - #158539 (Move `SizeHint` and `IoHandle` to `core::io`) - #158659 (refactor the normalization in `coerce_shared_info`) - #158689 (resolver: don't use `Finalize` when resolving visibilities during AST expansion) - #158698 (Update TypeVisitable implementation) - #158706 (Tweaks to MIR building scope API)
…k, r=saethlin add `-Zforce-intrinsic-fallback` flag Add a flag that forces the use of the fallback body (if one exists), so that we can test that these fallback implementations actually work. cc rust-lang#150946 cc [#t-compiler > testing intrinsic fallback bodies](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/testing.20intrinsic.20fallback.20bodies/with/606299558) cc [#t-infra > CI for -Zforce-intrinsic-fallback](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/CI.20for.20-Zforce-intrinsic-fallback/with/608129693)
…uwer Rollup of 20 pull requests Successful merges: - #158692 (Add release notes for 1.96.1) - #134021 (Implement `IntoIterator` for `[&[mut]] Box<[T; N], A>`) - #155932 (MIR Call terminator: evaluate destination place before arguments) - #155989 (Update `transmute_copy` to ub_checks and `?Sized`) - #156777 (Add -Zautodiff_post_passes flag to limit which llvm passes to run after enzyme to make autodiff tests more robust) - #157151 (JSON target specs: remove 'x86-softfloat' compatibility alias) - #157835 (expand free alias types in the auto-trait orphan check) - #157857 (Stabilize `#[my_macro] mod foo;` (part of `proc_macro_hygiene`)) - #158377 (add `-Zforce-intrinsic-fallback` flag) - #158434 (delegation: refactor AST -> HIR lowering) - #158552 (make some tidy errors around python easier to understand) - #158624 (borrowck: Introduce BlameConstraint::to_obligation_cause_from_path()) - #158704 (Optimize `ArrayChunks::try_rfold` with `DoubleEndedIterator::next_chunk_back`) - #158711 (library: Comment on libtest's dicey internal soundness) - #158751 (rustdoc: Fix crash when trying to inline foreign item which cannot have attributes) - #158539 (Move `SizeHint` and `IoHandle` to `core::io`) - #158659 (refactor the normalization in `coerce_shared_info`) - #158689 (resolver: don't use `Finalize` when resolving visibilities during AST expansion) - #158698 (Update TypeVisitable implementation) - #158706 (Tweaks to MIR building scope API)
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: #158798 (comment) |
|
This pull request was unapproved. This PR was contained in a rollup (#158798), which was unapproved. |
69d7670 to
6810f13
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors try jobs=dist-i586-gnu-i586-i686-musl |
This comment has been minimized.
This comment has been minimized.
add `-Zforce-intrinsic-fallback` flag try-job: dist-i586-gnu-i586-i686-musl
|
My LLVM checks were a bit too strict apparently @bors r=saethlin |
View all comments
Add a flag that forces the use of the fallback body (if one exists), so that we can test that these fallback implementations actually work.
cc #150946
cc #t-compiler > testing intrinsic fallback bodies
cc #t-infra > CI for -Zforce-intrinsic-fallback