This is an archive of the discontinued LLVM Phabricator instance.

[CSSPGO] Flip SkipPseudoOp to true for MIR APIs.
ClosedPublic

Authored by hoy on Apr 12 2021, 11:24 AM.

Details

Summary

Flipping the default value of SkipPseudoOp to true for those MIR APIs to favor maximum performance. Note that certain spots like branch folding and MIR if-conversion is are disabled for better counts quality. For these two optimizations, this is a no-diff change.

The counts quality with SPEC2017 before/after this change is unchanged.

Diff Detail

Event Timeline

hoy created this revision.Apr 12 2021, 11:24 AM
hoy requested review of this revision.Apr 12 2021, 11:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 12 2021, 11:24 AM
wmi added inline comments.Apr 18 2021, 1:11 PM
llvm/include/llvm/CodeGen/MachineBasicBlock.h
683–684

TODO can be removed now. It maybe better to list the optimizations like branch folding and if-conversion here which set SkipPseudoOp to false as a reference.

hoy added inline comments.Apr 19 2021, 8:59 AM
llvm/include/llvm/CodeGen/MachineBasicBlock.h
683–684

Good point. Comment changed.

hoy updated this revision to Diff 338536.Apr 19 2021, 8:59 AM

Addressing Wei's comment.

wmi accepted this revision.Apr 19 2021, 3:05 PM

LGTM, thanks.

This revision is now accepted and ready to land.Apr 19 2021, 3:05 PM
This revision was landed with ongoing or failed builds.Apr 19 2021, 5:55 PM
This revision was automatically updated to reflect the committed changes.
chill added a subscriber: chill.Apr 20 2021, 7:02 AM

Apologies if you're already aware.

It appears with this change an expensive checks buildbot started to fail: https://lab.llvm.org/buildbot/#/builders/16/builds/9542

hoy added a comment.Apr 20 2021, 9:00 AM

Apologies if you're already aware.

It appears with this change an expensive checks buildbot started to fail: https://lab.llvm.org/buildbot/#/builders/16/builds/9542

Thanks for letting me know. The failures should be fixed by D100334.

thakis added a subscriber: thakis.Apr 21 2021, 7:38 AM

Apologies if you're already aware.

It appears with this change an expensive checks buildbot started to fail: https://lab.llvm.org/buildbot/#/builders/16/builds/9542

Thanks for letting me know. The failures should be fixed by D100334.

Looks like it's still failing at today's trunk even with that change: https://lab.llvm.org/buildbot/#/builders/16/builds/9678

hoy added a comment.Apr 21 2021, 8:56 AM

Apologies if you're already aware.

It appears with this change an expensive checks buildbot started to fail: https://lab.llvm.org/buildbot/#/builders/16/builds/9542

Thanks for letting me know. The failures should be fixed by D100334.

Looks like it's still failing at today's trunk even with that change: https://lab.llvm.org/buildbot/#/builders/16/builds/9678

I see. It's failing with -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON. I'm taking a look. Thanks.

hoy added a comment.Apr 21 2021, 9:19 AM

Apologies if you're already aware.

It appears with this change an expensive checks buildbot started to fail: https://lab.llvm.org/buildbot/#/builders/16/builds/9542

Thanks for letting me know. The failures should be fixed by D100334.

Looks like it's still failing at today's trunk even with that change: https://lab.llvm.org/buildbot/#/builders/16/builds/9678

I see. It's failing with -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON. I'm taking a look. Thanks.

I just pushed in a fix: https://reviews.llvm.org/rGb6db6f5530d2 .