Skip to content

Window scheduler ignores IMPLICIT_DEF instructions #137249

Open
@Zararest

Description

@Zararest

Description

I was working with window scheduler and found confusing part in its algorithm.
On the line llvm/lib/CodeGen/WindowScheduler.cpp:300 WindowScheduler copies region to schedule, but ignores meta instructions one of which is IMPLICIT_DEF. Because of this all uses of IMPLICIT_DEF have no definition. This results in assertion later in code.

I created a reproduction for Hexagon, but I am not sure whether this code is correct. Probably, there are other examples where IMPLICIT_DEF and its use are in the same basic block, but I could not find them.

Reproduction

bash ./run.txt

run.txt

pipeliner-assert.txt

Debug build fails with assertion.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions