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

What changes has zapcc made to upstream llvm/clang? #43

Open
c0d3st0rm opened this issue Apr 9, 2020 · 6 comments
Open

What changes has zapcc made to upstream llvm/clang? #43

c0d3st0rm opened this issue Apr 9, 2020 · 6 comments

Comments

@c0d3st0rm
Copy link

c0d3st0rm commented Apr 9, 2020

In an effort to better understand how zapcc is constructed, what changes (specifically, what elements and files of llvm/clang are modified) are made to enable zapcc's caching functionality (except for the addition of zapcc/zapccs in the tools directory)?

@yrnkrn
Copy link
Owner

yrnkrn commented Apr 9, 2020

There are many changes across the LLVM/clang codebase to enable caching and unloading.
diff LLVM r325000 and zapcc to see them.

@c0d3st0rm
Copy link
Author

I tried that, and I got a multi-million line 100MB diff - is llvm-mirror/llvm@1a38f48 the correct commit? Is zapcc reformatted with clang-format or any similar tools, compared to the llvm repo?

@yrnkrn
Copy link
Owner

yrnkrn commented Apr 9, 2020

This looks like the right commit. Developing zapcc we were very careful to minimize the diff which was much smaller than 100MB, about 300KB if I recall correctly.

We were using the official (back then) subversion repository. It is now on https://github.com/llvm/llvm-project while https://github.com/llvm-mirror was set prior to LLVM moving to github. These do not explain a 100MB diff size.
Maybe directory structure or EOL are different?

@c0d3st0rm
Copy link
Author

Directory structure looks to be the same, but I'll check the EOLs (although I'm not sure if those would affect a patch). I thought 100MB was a bit large. Did zapcc only touch llvm/clang, so I can ignore any other projects/libraries?

@yrnkrn
Copy link
Owner

yrnkrn commented Apr 10, 2020

Yes, only the LLVM and clang were modified.

@c0d3st0rm
Copy link
Author

Even after a clang-format, I'm still seeing a 100MB diff - not sure what I'm doing wrong here.

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