This is an archive of the discontinued LLVM Phabricator instance.

MachineScheduler: Fix assert from not checking subregs
ClosedPublic

Authored by arsenm on Sep 11 2019, 1:13 PM.

Details

Summary

The assert would fail if there was a dead def of a subregister if
there was a previous use of a different subregister.

Diff Detail

Event Timeline

arsenm created this revision.Sep 11 2019, 1:13 PM
qcolombet accepted this revision.Sep 17 2019, 10:58 AM

Hi Matt,

Looks sensible.

The check is not quite right I think see inline comment (you should be able to write a test case to expose the issue), but the direction is the right one).

With that fixed LGTM.

Cheers,
-Quentin

lib/CodeGen/ScheduleDAGInstrs.cpp
383

We should check that the lane masks don't overlap instead.

test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
5

typo: indices

This revision is now accepted and ready to land.Sep 17 2019, 10:58 AM
arsenm closed this revision.Sep 18 2019, 7:16 PM

r372287