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

how to use this tools for autoLIPO(autoFDO + LIPO)in gcc google 4_9 branch ? #106

Open
majin2020 opened this issue Feb 19, 2021 · 3 comments

Comments

@majin2020
Copy link

majin2020 commented Feb 19, 2021

hi, @danielcdh
I recently read the code of LIPO (Profile Feedback Based Lightweight IPO) in gcc and find that the theory is very good. In this paper and this patches , I see that LIPO has realized the combination with autoFDO, avoiding the disadvantage of LIPO having to recompile the FDO process.

I tried to use the autoFDO tool to generate the gcda and imports files required by LIPO, and although imports were automatically generated, it was always empty, causing LIPO not to optimize the program.

Therefore, I want to know how to make the imports file generated by the autoFDO tool have content instead of empty and make LIPO effective.

Looking forward to your reply!

thanks,
ijinma

@danielcdh
Copy link
Contributor

danielcdh commented Feb 19, 2021 via email

@danielcdh
Copy link
Contributor

danielcdh commented Feb 19, 2021 via email

@majin2020 majin2020 reopened this Feb 19, 2021
@majin2020
Copy link
Author

majin2020 commented Feb 19, 2021

hi, @danielcdh

I'm so honored to have your answer to my question. Although the llvm thin LTO has a great advantage, I still want to try autoLIPO on GCC. I read the source code of the autoFDO tool briefly, but unfortunately I didn't find a way to enable autoLIPO, even as you say the config doesn't work anymore.

I want to recreate your work, and I think it's worth continuing on gcc. I think there should be a proper way to turn on autoLIPO, though it might be very old. But I'm a beginner in the compiler direction, and I'm not good at all of this.

So could you give me some help?

  1. GCC (google gcc_4.8 ?) and autoFDO versions that have been successfully run by autoLIPO, or some suggestions.

  2. The usage or description of autoFDO enabling auxiliary module. That is, the imports file generated by AutoFDO stores the grouping algorithm result of the LIPO module.

  3. Or what would I need to do if I wanted to successfully use autoLIPO on GCC?

Looking forward to your reply!

thanks,
ijinma

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

No branches or pull requests

2 participants