Skip to content

PossibleContents is not a lattice #7581

Open
@tlively

Description

@tlively

IIUC, we have this structure:

             Type(i32)
            /         \
Global("g1", i32) Global("g2", i32)
           |     X     |
       Literal(1) Literal(2)

There is no unique least upper bound of the two literals and there is no unique greatest lower bound of the two globals. This is a problem because union and intersect are supposed to calculate unique least upper / greatest lower bounds.

I think there is a probably a way to solve this, but I'll have to think on it.

I ran into this while trying to simplify and complete the implementation of intersect as part of the investigation suggested here: https://github.com/WebAssembly/binaryen/pull/7538/files#r2054860951

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions