This is an archive of the discontinued LLVM Phabricator instance.

Mention ThinLTO with PGO in ReleaseNotes 4.0
ClosedPublic

Authored by Prazek on Jan 15 2017, 11:35 AM.

Details

Summary

It would be good to also mention
other improvements in ThinLTO for 4.0 release

Event Timeline

Prazek updated this revision to Diff 84498.Jan 15 2017, 11:35 AM
Prazek retitled this revision from to Mention ThinLTO with PGO in ReleaseNotes 4.0.
Prazek updated this object.
Prazek added reviewers: tejohnson, mehdi_amini, hans.
Prazek added a subscriber: cfe-commits.

Maybe I should change ThinLTO for '-flto=thin' and also mention this improvement in LLVM release notes?

BTW '-flto=thin' is not documented in UsersManual

mehdi_amini added inline comments.Jan 15 2017, 12:53 PM
docs/ReleaseNotes.rst
69

We need to mention ThinLTO in the Release Notes, so thanks for initiating this.
We likely should go with a paragraph summarizing the improvements, I don't know though if there is anything else than 1) PGO and 2) Significant build-time and binary-size improvements with debug-info.

tejohnson edited edge metadata.Jan 15 2017, 2:04 PM

Maybe I should change ThinLTO for '-flto=thin' and also mention this improvement in LLVM release notes?

BTW '-flto=thin' is not documented in UsersManual

It's documented here:

http://clang.llvm.org/docs/index.html

and here:

http://clang.llvm.org/docs/CommandGuide/clang.html

but not (yet) here:

http://clang.llvm.org/docs/UsersManual.html

I can add that.

Thanks!

docs/ReleaseNotes.rst
69

Yes this is a good start. One of the big improvements from PGO is the integration with indirect call promotion. I would suggest something like:

Improvements to ThinLTO (-flto=thin):

  • Integration with profile data. When available, profile data enables more accurate function importing decisions, as well as cross-module indirect call promotion.
  • Significant build-time and binary-size improvements when compiling with debug info (-g).
Prazek updated this revision to Diff 84503.Jan 15 2017, 2:19 PM
Prazek edited edge metadata.

update

mehdi_amini accepted this revision.Jan 15 2017, 2:20 PM
mehdi_amini edited edge metadata.

LGTM, thanks.

docs/ReleaseNotes.rst
70

I'd add a parenthesis: Integration with profile data (PGO).

This revision is now accepted and ready to land.Jan 15 2017, 2:20 PM
Prazek marked 2 inline comments as done.Jan 15 2017, 2:20 PM

Cool, This still might require some small fixes - I haven't generate docs for it, so I will check it before release.

Prazek updated this revision to Diff 84504.Jan 15 2017, 2:22 PM
Prazek marked an inline comment as done.
Prazek edited edge metadata.

(PGO)

Shoud I add the same note to LLVM Release notes?

Oh I didn't notice that we were in the clang Release Notes, actually I've only updated the LLVM ones in the past.

So yes, I think this should be in LLVM as well, I don't know if it should differ in some way?

Oh I didn't notice that we were in the clang Release Notes, actually I've only updated the LLVM ones in the past.

So yes, I think this should be in LLVM as well, I don't know if it should differ in some way?

It probably should not differ in any way. I think it is very important to have note in clang's release notes, because this is where clang users look :)

Prazek closed this revision.Jan 16 2017, 5:27 AM

Pushed on branch.
Please check if everything looks good when RC will be released.