Skip to content

Introduce InstanceKind::LlvmIntrinsic#159183

Merged
rust-bors[bot] merged 2 commits into
rust-lang:mainfrom
bjorn3:instance_llvm_intrinsic
Jul 15, 2026
Merged

Introduce InstanceKind::LlvmIntrinsic#159183
rust-bors[bot] merged 2 commits into
rust-lang:mainfrom
bjorn3:instance_llvm_intrinsic

Conversation

@bjorn3

@bjorn3 bjorn3 commented Jul 12, 2026

Copy link
Copy Markdown
Member

View all comments

This way codegen backends don't have to check for a magic symbol name prefix to detect LLVM intrinsic calls and thus can more easily handle them separately as necessary.

@rustbot

rustbot commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

miri is developed in its own repository. If possible, consider making this change to rust-lang/miri instead.

cc @rust-lang/miri

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

Some changes occurred to the CTFE machinery

cc @RalfJung, @oli-obk, @lcnr

This PR changes rustc_public

cc @oli-obk, @celinval, @ouz-a, @makai410

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 12, 2026
@rustbot

rustbot commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

r? @folkertdev

rustbot has assigned @folkertdev.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 18 candidates

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from e14ca78 to b7990f6 Compare July 12, 2026 16:24
Comment thread src/tools/miri/src/intrinsics/mod.rs Outdated
@rust-log-analyzer

This comment has been minimized.

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from b7990f6 to caeec62 Compare July 12, 2026 17:11
@rust-log-analyzer

This comment has been minimized.

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from caeec62 to 1f3938a Compare July 12, 2026 18:03
@rust-log-analyzer

This comment has been minimized.

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from 1f3938a to a06a06e Compare July 12, 2026 18:12
@rust-log-analyzer

This comment has been minimized.

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from a06a06e to cb285fe Compare July 12, 2026 19:52
@rust-log-analyzer

This comment has been minimized.

@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from cb285fe to 04d1d47 Compare July 12, 2026 20:38
Comment thread compiler/rustc_const_eval/src/interpret/machine.rs Outdated
Comment thread src/tools/miri/src/intrinsics/mod.rs Outdated
Comment thread src/tools/miri/src/intrinsics/mod.rs Outdated
@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from dac9874 to 2354759 Compare July 13, 2026 12:56
Comment thread src/tools/miri/src/intrinsics/mod.rs Outdated
Comment thread src/tools/miri/src/shims/foreign_items.rs Outdated

@RalfJung RalfJung left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me on the Miri changes

View changes since this review

@RalfJung

Copy link
Copy Markdown
Member

Oh wait nvm there was the EmulateItemResult discussion.

@bjorn3

bjorn3 commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

Ok if I squash the first four commits?

@RalfJung RalfJung left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now for real, r=me on the Miri parts. :)

And yeah fine for me to squash.

View changes since this review

bjorn3 added 2 commits July 13, 2026 14:20
This way codegen backends don't have to check for a magic symbol name
prefix to detect LLVM intrinsic calls and thus can more easily handle
them separately as necessary.
@bjorn3 bjorn3 force-pushed the instance_llvm_intrinsic branch from 0d67630 to aec727f Compare July 13, 2026 14:20
@folkertdev

Copy link
Copy Markdown
Contributor

Nice!

@bors r=RalfJung,folkertdev

@rust-bors

rust-bors Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit aec727f has been approved by RalfJung,folkertdev

It is now in the queue for this repository.

@rust-bors rust-bors Bot added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 14, 2026
@rust-bors rust-bors Bot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 14, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 14, 2026
…RalfJung,folkertdev

Introduce InstanceKind::LlvmIntrinsic

This way codegen backends don't have to check for a magic symbol name prefix to detect LLVM intrinsic calls and thus can more easily handle them separately as necessary.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 14, 2026
…RalfJung,folkertdev

Introduce InstanceKind::LlvmIntrinsic

This way codegen backends don't have to check for a magic symbol name prefix to detect LLVM intrinsic calls and thus can more easily handle them separately as necessary.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Jul 14, 2026
…RalfJung,folkertdev

Introduce InstanceKind::LlvmIntrinsic

This way codegen backends don't have to check for a magic symbol name prefix to detect LLVM intrinsic calls and thus can more easily handle them separately as necessary.
rust-bors Bot pushed a commit that referenced this pull request Jul 14, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #156047 (Fix trait method resolution on an adjusted never type)
 - #157824 (Comptime inherent impls)
 - #158235 (Store `DefId` instead of `EiiDecl` in `EiiImplResolution::Known`)
 - #158723 (Support EII on Windows MSVC)
 - #158993 (rerun in original typing mode if we meet any opaques in post analysis)
 - #159160 (Make `HasTokens` a sub-trait of `HasAttrs`.)
 - #159183 (Introduce InstanceKind::LlvmIntrinsic)
 - #159251 (Bump rustc-perf submodule)
 - #155013 (Suggest the `[const] Destruct` bound for type parameters in const functions when missing)
 - #159155 (unstable book: Document `diagnostic_on_unknown` feature)
 - #159235 (Add regression test for #95719)
 - #159243 (inline Once wait and wait_force)
 - #159255 (Replace shortened type with `_` instead of `...` as placeholder)
 - #159259 (Add regression test for #144033)
 - #159265 (bootstrap: skip intrinsic-test when rustfmt is unavailable)
 - #159269 (disable range-len-try-from.rs on s390x)
 - #159272 (slice: make swap delegate to swap_unchecked)
 - #159274 (bootstrap: Rename `std_crates_for_run_make` to `std_crates_for_make_run`)
 - #159275 (remove obsolete comment)
 - #159277 (Construct `tokens` for attrs made by `mk_attr_word` and other variants)
 - #159283 (Remove obsolete verbose flag from deref/ref suggestions)
 - #159290 (rustc-dev-guide subtree update)
rust-bors Bot pushed a commit that referenced this pull request Jul 15, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #156047 (Fix trait method resolution on an adjusted never type)
 - #157824 (Comptime inherent impls)
 - #158235 (Store `DefId` instead of `EiiDecl` in `EiiImplResolution::Known`)
 - #158723 (Support EII on Windows MSVC)
 - #158993 (rerun in original typing mode if we meet any opaques in post analysis)
 - #159160 (Make `HasTokens` a sub-trait of `HasAttrs`.)
 - #159183 (Introduce InstanceKind::LlvmIntrinsic)
 - #159251 (Bump rustc-perf submodule)
 - #155013 (Suggest the `[const] Destruct` bound for type parameters in const functions when missing)
 - #159155 (unstable book: Document `diagnostic_on_unknown` feature)
 - #159235 (Add regression test for #95719)
 - #159243 (inline Once wait and wait_force)
 - #159255 (Replace shortened type with `_` instead of `...` as placeholder)
 - #159259 (Add regression test for #144033)
 - #159265 (bootstrap: skip intrinsic-test when rustfmt is unavailable)
 - #159269 (disable range-len-try-from.rs on s390x)
 - #159272 (slice: make swap delegate to swap_unchecked)
 - #159274 (bootstrap: Rename `std_crates_for_run_make` to `std_crates_for_make_run`)
 - #159275 (remove obsolete comment)
 - #159277 (Construct `tokens` for attrs made by `mk_attr_word` and other variants)
 - #159283 (Remove obsolete verbose flag from deref/ref suggestions)
 - #159290 (rustc-dev-guide subtree update)
@rust-bors rust-bors Bot merged commit 09e4f79 into rust-lang:main Jul 15, 2026
13 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 15, 2026
rust-timer added a commit that referenced this pull request Jul 15, 2026
Rollup merge of #159183 - bjorn3:instance_llvm_intrinsic, r=RalfJung,folkertdev

Introduce InstanceKind::LlvmIntrinsic

This way codegen backends don't have to check for a magic symbol name prefix to detect LLVM intrinsic calls and thus can more easily handle them separately as necessary.
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Jul 15, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#156047 (Fix trait method resolution on an adjusted never type)
 - rust-lang/rust#157824 (Comptime inherent impls)
 - rust-lang/rust#158235 (Store `DefId` instead of `EiiDecl` in `EiiImplResolution::Known`)
 - rust-lang/rust#158723 (Support EII on Windows MSVC)
 - rust-lang/rust#158993 (rerun in original typing mode if we meet any opaques in post analysis)
 - rust-lang/rust#159160 (Make `HasTokens` a sub-trait of `HasAttrs`.)
 - rust-lang/rust#159183 (Introduce InstanceKind::LlvmIntrinsic)
 - rust-lang/rust#159251 (Bump rustc-perf submodule)
 - rust-lang/rust#155013 (Suggest the `[const] Destruct` bound for type parameters in const functions when missing)
 - rust-lang/rust#159155 (unstable book: Document `diagnostic_on_unknown` feature)
 - rust-lang/rust#159235 (Add regression test for rust-lang/rust#95719)
 - rust-lang/rust#159243 (inline Once wait and wait_force)
 - rust-lang/rust#159255 (Replace shortened type with `_` instead of `...` as placeholder)
 - rust-lang/rust#159259 (Add regression test for rust-lang/rust#144033)
 - rust-lang/rust#159265 (bootstrap: skip intrinsic-test when rustfmt is unavailable)
 - rust-lang/rust#159269 (disable range-len-try-from.rs on s390x)
 - rust-lang/rust#159272 (slice: make swap delegate to swap_unchecked)
 - rust-lang/rust#159274 (bootstrap: Rename `std_crates_for_run_make` to `std_crates_for_make_run`)
 - rust-lang/rust#159275 (remove obsolete comment)
 - rust-lang/rust#159277 (Construct `tokens` for attrs made by `mk_attr_word` and other variants)
 - rust-lang/rust#159283 (Remove obsolete verbose flag from deref/ref suggestions)
 - rust-lang/rust#159290 (rustc-dev-guide subtree update)
@bjorn3 bjorn3 deleted the instance_llvm_intrinsic branch July 15, 2026 08:39
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.

5 participants