Emit retags in codegen to support BorrowSanitizer (part 5)#159245
Open
icmccorm wants to merge 1 commit into
Open
Emit retags in codegen to support BorrowSanitizer (part 5)#159245icmccorm wants to merge 1 commit into
icmccorm wants to merge 1 commit into
Conversation
Contributor
|
☔ The latest upstream changes (presumably #159498) made this pull request unmergeable. Please resolve the merge conflicts by rebasing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracking issue: #154760
Zulip Thread
This is one of several PRs that add experimental support for emitting retags as function calls in codegen.
This PR adds support for emitting global arrays that specify the ranges of interior mutable and pinned data. For example,
This program will have IR similar to the following:
The last four bytes at offset four are interior mutable.
Users can disable this behavior by passing
no-precise-imorno-precise-pinas options to-Zcodegen-emit-retag. In that case, the last two parameters to the retag intrinsic will always be null pointers.BorrowSanitizer will be able to switch to using nightly once this is merged. Thank you @saethlin for reviewing these PRs!
Note: we still do not support retagging SIMD types, since cg-ssa does not support
insertelement.Related: #158100
Cc: @RalfJung
r? @saethlin