Enable sharing of state elements between continuation values and static variables with superficially different layouts. For example, bits[64] and (bits[64]). This sharing is done by LeafTypeTree index. This allows sharing of state elements between base and derived classes, for example. #3686
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.
Enable sharing of state elements between continuation values and static variables with superficially different layouts. For example, bits[64] and (bits[64]). This sharing is done by LeafTypeTree index. This allows sharing of state elements between base and derived classes, for example.
Replaced NamedDecl* with DeclLeaf for continuations, where DeclLeaf also indicates the LeafTypeTree element index of the continuation values.
Also fixes small bugs with pass through finding and direct in marking.
Changes to the data flow visitor are needed to support these fixes. For example, a select between two direct ins with a non-direct-in selector should not be marked as direct-in.