Issue 137249
Summary Window scheduler ignores IMPLICIT_DEF instructions
Labels new issue
Assignees
Reporter 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](https://github.com/user-attachments/files/19899179/run.txt)

[pipeliner-assert.txt](https://github.com/user-attachments/files/19899182/pipeliner-assert.txt)

Debug build fails with assertion. 
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to