This is an archive of the discontinued LLVM Phabricator instance.

[Polly][NFC] Clean up Polly's getting started docs

Authored by InnovativeInventor on Oct 12 2021, 4:07 PM.



This patch removes the broken bash scipt ( and fixes the broken setup
instructions in get_started.html. It also adds instructions for using Ninja and
links to the LLVM getting started page.

Diff Detail

Event Timeline

InnovativeInventor requested review of this revision.Oct 12 2021, 4:07 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 12 2021, 4:07 PM
InnovativeInventor added a project: Restricted Project.Oct 12 2021, 4:09 PM
InnovativeInventor retitled this revision from [polly][NFC] Clean up Polly's getting started docs to [Polly][NFC] Clean up Polly's getting started docs.
InnovativeInventor edited reviewers, added: Meinersbur; removed: bollu.
InnovativeInventor added a subscriber: pollydev.

Thanks for the patch!

Could also add an example invocation on how to use Polly after compiling, such as bin/clang -O3 -mllvm -polly hello.c?

For consistency with the rest of the documentation (from the doc/), it would be nicer to have it generated with Sphinx, but I don't require it.


Ninja and CMake are not alternatives of each other. Your can build LLVM with either CMake and ninja (cmake -GNinja), CMake and make (cmake -G"Unix Makefiles"), or most other generators supported by CMake, such as XCode, Visual Studio.


I myself am using Visual Studio


Did you try this? How much disk space does it save?


This will create a debug build which may use a lot of memory to build and is slow. For starters, I'd recommend a Release+Assert build unless one starts using a debugger (or wants accurate line numbers in crash traces). I.e. -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON.

What do you think?


Why this line again? Once configured with CMake, there is no need to configure again.


If we want to be generator-agnostic, we can also use cmake --build . --target check-polly

InnovativeInventor marked 4 inline comments as done.

Add Polly invocation instructions and resolve cmake/ninja confusion

InnovativeInventor marked 2 inline comments as done.Oct 12 2021, 6:30 PM
InnovativeInventor added inline comments.

Oh, whoops. Just fixed this -- thanks for clarifiying!


It saves a non-trivial amount. A full clone takes about 3.2 GB, whereas a shallow clone takes about 1.5 GB (so ~53% reduction).


Sounds good -- just added it.

Meinersbur requested changes to this revision.Oct 12 2021, 7:40 PM

You uploaded a diff to your previous diff. Please upload a diff to LLVM's top-of-tree.


Why remove the menu?


This is already out-of date. Latest release note is, but I don't think this is relevant for a getting_started.

This revision now requires changes to proceed.Oct 12 2021, 7:40 PM
InnovativeInventor marked an inline comment as done.

I added a proper diff (I think) and added back the mistakenly removed menu that I didn't intend to commit.

Meinersbur accepted this revision.Oct 13 2021, 1:22 PM

LGTM. Thanks for the patch.

Would you like me to land the patch for you?

This revision is now accepted and ready to land.Oct 13 2021, 1:22 PM
InnovativeInventor marked an inline comment as done.

Yes, thanks!

This revision was automatically updated to reflect the committed changes.

Thanks for your contribution! I removed the [NFC] tag before committing since there isn't really behavioral change for documentation.