Open
Description
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
Debug build fails with assertion.