This is an archive of the discontinued LLVM Phabricator instance.

[BOLT] Fold bolt-nfc builder into BOLTBuilder
ClosedPublic

Authored by Amir on Dec 8 2022, 11:43 PM.

Details

Reviewers
gkistanova
Group Reviewers
Restricted Project
Commits
rZORG769ab74e913d: [BOLT] Fold bolt-nfc builder into BOLTBuilder
Summary

With ShellCommand, it's possible to fully unify all BOLT builders. Fold bolt-nfc
annotated builder into BOLTBuilder.

Diff Detail

Event Timeline

Amir created this revision.Dec 8 2022, 11:43 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: treapster. · View Herald Transcript
Amir updated this revision to Diff 481537.Dec 9 2022, 12:22 AM

Fix ShellCommand

Amir updated this revision to Diff 481538.Dec 9 2022, 12:23 AM

Remove unrelated changes

Amir updated this revision to Diff 481727.Dec 9 2022, 12:28 PM

Don't flunk on failure in nfc checks

Amir published this revision for review.Dec 9 2022, 12:29 PM

Hi Amir,

The patch looks good in general, with a few things to address.
Please see my comments inline.

zorg/buildbot/builders/BOLTBuilder.py
17

This is not a part of this patch, but anyway. This is a bad idea to have a mutable object as a default param value. You may want to set it to None and then assign the list in the body. https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments

96

You may want to use LitTestCommand here to have the test results parsed.

98

You have hardcoded the number of jobs for LIT. And this number is different than the one in the next step. Could you explain why this is a good idea, please?

Shouldn't the number of jobs be specific to a particular worker, and not a build factory?

110

The same is here.

Amir marked an inline comment as done.Dec 15 2022, 2:54 PM
Amir added inline comments.
zorg/buildbot/builders/BOLTBuilder.py
17

Thank you for this suggestion. Fixed separately in 66c07102840a2078de282d11642d10a9ae5ee9c1

Amir updated this revision to Diff 483372.Dec 15 2022, 3:37 PM
Amir marked an inline comment as done.

Use LitTestCommand

Amir marked an inline comment as done.Dec 15 2022, 3:57 PM
Amir added inline comments.
zorg/buildbot/builders/BOLTBuilder.py
98

The reason for that is BOLT runs some passes in parallel internally using all available cores, but only during certain passes. With smaller test binaries we can overlap some number of executions, with 4 selected as a reasonable number. Using num-jobs is not reasonable due to this internal parallelism.

110

The reason for smaller number here is that check-large-bolt binaries are larger and we can overlap smaller number of executions.

This revision is now accepted and ready to land.Dec 15 2022, 4:13 PM
This revision was automatically updated to reflect the committed changes.
zorg/buildbot/builders/BOLTBuilder.py