This is an archive of the discontinued LLVM Phabricator instance.

[GreedyRA ORE] Add stats for copy of virtual registers.
ClosedPublic

Authored by skatkov on Apr 6 2021, 10:24 PM.

Details

Summary

Greedy RA adds copies of virtual registers when splitting live interval.
This stat might be useful.

Diff Detail

Event Timeline

skatkov created this revision.Apr 6 2021, 10:24 PM
skatkov requested review of this revision.Apr 6 2021, 10:25 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 6 2021, 10:25 PM

Is this really useful as a user-surfacing remark? Won't it have a really high false positive rate due to coalescing?

Is this really useful as a user-surfacing remark? Won't it have a really high false positive rate due to coalescing?

To be honest - not sure. But if RA can assigned physical register and can eliminate copy it a good sign.
So probably I also need to check reg map whether physical registers are different or not... Need to check...

Is this really useful as a user-surfacing remark? Won't it have a really high false positive rate due to coalescing?

To be honest - not sure. But if RA can assigned physical register and can eliminate copy it a good sign.
So probably I also need to check reg map whether physical registers are different or not... Need to check...

IIRC, it actually inserts copies and relies on coalescing to remove most of them. It would be worth checking on large programs and such to see if you're actually seeing register copies for some of the remarks emitted.

skatkov updated this revision to Diff 336373.Apr 9 2021, 3:17 AM

rebase + test update.

skatkov updated this revision to Diff 337370.Apr 14 2021, 1:39 AM

Rebase + test update due to recent changes in RA.

reames accepted this revision.Apr 16 2021, 1:47 PM

LGTM

This revision is now accepted and ready to land.Apr 16 2021, 1:47 PM
This revision was automatically updated to reflect the committed changes.