[PATCH] D75425: [docs] Added solutions to slow build under common problems

Evan LeClercq via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 16:26:31 PST 2020


e-leclercq updated this revision to Diff 248620.
e-leclercq added a comment.

Added ninja as recommended build tool, lld linker option, and gold linker option. Also, clarified similarity to the `-j` option in make, as requested.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75425/new/

https://reviews.llvm.org/D75425

Files:
  llvm/docs/GettingStarted.rst


Index: llvm/docs/GettingStarted.rst
===================================================================
--- llvm/docs/GettingStarted.rst
+++ llvm/docs/GettingStarted.rst
@@ -1098,6 +1098,47 @@
 general questions about LLVM, please consult the `Frequently Asked
 Questions <FAQ.html>`_ page.
 
+If you are having problems with limited memory and build time, please try 
+building with ninja instead of make.
+
+You may also consider configuring the following options with ninja:
+ 
+ * -DLLVM_ENABLE_LLD
+   Set this to ON to use the LLD linker. This significantly improves build time.
+ 
+ * -DLLVM_USE_LINKER
+   Set this to gold to use the gold linker to improve performance during build.
+
+ * -DCMAKE_BUILD_TYPE  
+   Set this equal to the build you wish to use, either Debug or Release. The 
+   Debug build may consume more memory during the linking phase.
+
+ * -DLLVM_PARALLEL_LINK_JOBS  
+   Set this equal to number of jobs you wish to run simultaneously. This is 
+   similar to the -j option used with make, but only for link jobs.
+ 
+ * -DLLVM_TARGETS_TO_BUILD  
+   Set this equal to the target you wish to build. You may wish to set this to 
+   X86; however, you will find a full list of targets within the 
+   llvm-project/llvm/lib/Target directory. 
+
+ * -DLLVM_OPTIMIZED_TABLEGEN  
+   Set this to ON to generate a fully optimized tablegen during build. This will 
+   significantly improve your build time.
+
+ * -DLLVM_ENABLE_PROJECTS  
+   Set this equal to the projects you wish to compile. If compiling more than one
+   project, deliniate the list with a semicolon. Should you run into issues with 
+   the semicolon, surround it with single quotes.  
+ 
+ * -DCLANG_ENABLE_STATIC_ANALYZER  
+   Set this option to OFF if you do not require the STATIC_ANALYZER. This should 
+   improve your build time significantly.
+ 
+ * -DLLVM_USE_SPLIT_DWARF
+   Consider setting this to ON if you require a debug build, as this will ease 
+   memory pressure on the linker.
+
 .. _links:
 
 Links


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75425.248620.patch
Type: text/x-patch
Size: 2015 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200306/d849315f/attachment.bin>


More information about the llvm-commits mailing list