Skip to content

Conversation

@copybara-service
Copy link

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.

…ic 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.

PiperOrigin-RevId: 846487182
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants