This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] SIMachineScheduler: Add support for several MachineScheduler features
ClosedPublic

Authored by jsilvanus on Jun 29 2022, 5:19 AM.

Details

Summary

The SI machine scheduler inherits from ScheduleDAGMI.
This patch adds support for a few features that are implemented
in ScheduleDAGMI (or its base classes) that were missing so far
because their support is implemented in overridden functions.

  • Support cl::opt -view-misched-dags This option allows to open a graphical window of the scheduling DAG.
  • Support cl::opt -misched-print-dags This option allows to print the scheduling DAG in text form.
  • After constructing the scheduling DAG, call postprocessDAG() to apply any registered DAG mutations. Note that currently there are no mutations defined in AMDGPUTargetMachine.cpp in case SIScheduler is used. Still add this to avoid surprises in the future in case mutations are added.

Change-Id: Ie109f046b7691bdc7935da83f8767d0f685526af

Diff Detail

Event Timeline

jsilvanus created this revision.Jun 29 2022, 5:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2022, 5:19 AM
jsilvanus requested review of this revision.Jun 29 2022, 5:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2022, 5:19 AM
jsilvanus added a reviewer: Restricted Project.Jun 30 2022, 12:24 AM
foad accepted this revision.Jun 30 2022, 1:16 AM

LGTM, thanks!

This revision is now accepted and ready to land.Jun 30 2022, 1:16 AM
This revision was landed with ongoing or failed builds.Jul 14 2022, 12:52 AM
This revision was automatically updated to reflect the committed changes.