This is an archive of the discontinued LLVM Phabricator instance.

MISched: Don't schedule regions with 0 instructions
ClosedPublic

Authored by arsenm on Mar 13 2019, 4:17 PM.

Details

Summary

I think this is correct, but may not necessarily be the correct fix
for the assertion I'm really trying to solve. If a scheduling region
was found that only has dbg_value instructions, the RegPressure
tracker would end up in an inconsistent state because it would skip
over any debug instructions and point to an instruction outside of the
scheduling region. It may still be possible for this to happen if
there are some real schedulable instructions between dbg_values, but I
haven't managed to break this.

The testcase is extremely sensitive and I'm not sure how to make it
more resistent to future scheduler changes that would avoid stressing
this situation.

See also D59144

Diff Detail