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