Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-131278: Support building using "computed gotos" for clang-cl on Windows #131279

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

chris-eibl
Copy link
Contributor

@chris-eibl chris-eibl commented Mar 15, 2025

Copy link
Member

@picnixz picnixz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some readability comments. Do you want to actually add a What's New as well? (I don't know how wide is the audience)

@Fidget-Spinner
Copy link
Member

I don't remember if we had a Whats New for the original clang-cl issue. We should definitely mention in the whats new that clang cl building on Windows is now possible, and say PGO too.

@Fidget-Spinner
Copy link
Member

Woops sorry pressed the wrong button!

@picnixz
Copy link
Member

picnixz commented Mar 15, 2025

@chris-eibl How do you plan to address:

We should definitely mention in the whats new that clang cl building on Windows is now possible, and say PGO too.

Are there more PRs for those kind of optimizations on Windows? if so, we can delay everything until they are done. Otherwise, let's mention that in the What's New entry

@chris-eibl
Copy link
Contributor Author

I don't remember if we had a Whats New for the original clang-cl issue. We should definitely mention in the whats new that clang cl building on Windows is now possible, and say PGO too.

Building with clang-cl has been possible for a very long time: #101352.

The only fixes I am aware of are just these two (and just main and current 3.14 alphas are/have been affected):

So maybe just mention PGO in the Whats New?
Maybe this here and -flto=thin, too?

@zooba treats clang-cl as quite optional in #129907 (comment)
but I think a Whats New entry would not hurt.

Shall I give it a go here and mention those three things?

@chris-eibl
Copy link
Contributor Author

@Fidget-Spinner : your tail call for Windows #130040 (comment) came without What's new, too. Shall I add an entry, too?

Are there more PRs for those kind of optimizations on Windows?

I'd like to work on the many warnings clang-cl emits, but IMHO that won't go into What's new. Regarding optimizations, I think that's it atm, we can amend later, anyway.

@Fidget-Spinner
Copy link
Member

@Fidget-Spinner : your tail call for Windows #130040 (comment) came without What's new, too. Shall I add an entry, too?

We don't need it, as there's already a whats new for tail call in general.

@@ -1437,6 +1437,11 @@ Build changes
with :c:expr:`Py_NO_LINK_LIB`. (Contributed by Jean-Christophe
Fillion-Robin in :gh:`82909`.)

* building with clang-cl on Windows now supports PGO (profile guided
optimization), uses ``-flto=thin`` and can be configured to use
computed gotos. (Contributed by Chris Eibl in
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO "computed gotos and/or tail calls" would be better here, but up to @Fidget-Spinner 's liking :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants