-
-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Make thread local accesses an Rvalue in MIR #70685
Copy link
Copy link
Closed
Labels
A-MIRArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlA-thread-localsArea: Thread local storage (TLS)Area: Thread local storage (TLS)C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
Activity
Metadata
Metadata
Assignees
Labels
A-MIRArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlA-thread-localsArea: Thread local storage (TLS)Area: Thread local storage (TLS)C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
#70598 (comment)
Thread local accesses are a runtime operation, even if LLVM shims them to appear like normal static accesses. We should encode this runtime-ness in MIR and translate them back to the llvm static accesses in the llvm backend. The other backends (miri, cranelift) then have an easier life at doing the right thing ^TM.
cc @bjorn3 @eddyb @vakaras