This is an archive of the discontinued LLVM Phabricator instance.

[MachineTraceMetrics] Pick the trace successor for an entry block
ClosedPublic

Authored by asi-sc on Nov 18 2022, 1:54 AM.

Details

Summary

We generate erroneous trace for a basic block if it does not have at least one
predecessor when MinInstr strategy is used. Currently only this strategy is
implemented, so we always have a wrong trace for any entry block. This results in
wrong instructions heights calculation and also leads to wrong critical path.

The described behavior is demonstrated on a simple test. It shows that early
if-conv pass makes wrong decisions due to incorrectly calculated critical path
lenght.

Diff Detail

Event Timeline

asi-sc created this revision.Nov 18 2022, 1:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 18 2022, 1:54 AM
asi-sc requested review of this revision.Nov 18 2022, 1:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 18 2022, 1:54 AM
This revision is now accepted and ready to land.Nov 18 2022, 10:41 AM
This revision was landed with ongoing or failed builds.Nov 21 2022, 2:11 AM
This revision was automatically updated to reflect the committed changes.