@@ -754,36 +754,28 @@ enabled sub-projects. Nearly all of these variable names begin with
754
754
during the build. Enabling this option can significantly speed up build times
755
755
especially when building LLVM in Debug configurations.
756
756
757
- **LLVM_PARALLEL_COMPILE_JOBS **:STRING
758
- Define the maximum number of concurrent compilation jobs.
759
-
760
- **LLVM_PARALLEL_LINK_JOBS **:STRING
761
- Define the maximum number of concurrent link jobs.
762
-
763
- **LLVM_PARALLEL_TABLEGEN_JOBS **:STRING
764
- Define the maximum number of concurrent tablegen jobs.
757
+ **LLVM_PARALLEL_{COMPILE,LINK,TABLEGEN}_JOBS **:STRING
758
+ Limit the maximum number of concurrent compilation, link or
759
+ tablegen jobs respectively. The default total number of parallel jobs is
760
+ determined by the number of logical CPUs.
765
761
766
762
**LLVM_PROFDATA_FILE **:PATH
767
763
Path to a profdata file to pass into clang's -fprofile-instr-use flag. This
768
764
can only be specified if you're building with clang.
769
765
770
- **LLVM_RAM_PER_COMPILE_JOB **:STRING
771
- Calculates the amount of Ninja compile jobs according to available resources.
772
- Value has to be in MB, overwrites LLVM_PARALLEL_COMPILE_JOBS. Compile jobs
773
- will be between one and amount of logical cores.
774
-
775
- **LLVM_RAM_PER_LINK_JOB **:STRING
776
- Calculates the amount of Ninja link jobs according to available resources.
777
- Value has to be in MB, overwrites LLVM_PARALLEL_LINK_JOBS. Link jobs will
778
- be between one and amount of logical cores. Link jobs will not run
779
- exclusively therefore you should add an offset of one or two compile jobs
780
- to be sure its not terminated in your memory restricted environment. On ELF
781
- platforms also consider ``LLVM_USE_SPLIT_DWARF `` in Debug build.
782
-
783
- **LLVM_RAM_PER_TABLEGEN_JOB **:STRING
784
- Calculates the amount of Ninja tablegen jobs according to available resources.
785
- Value has to be in MB, overwrites LLVM_PARALLEL_TABLEGEN_JOBS. Tablegen jobs
786
- will be between one and amount of logical cores.
766
+ **LLVM_RAM_PER_{COMPILE,LINK,TABLEGEN}_JOB **:STRING
767
+ Limit the number of concurrent compile, link or tablegen jobs
768
+ respectively, depending on available physical memory. The value
769
+ specified is in MB. The respective
770
+ ``LLVM_PARALLEL_{COMPILE,LINK,TABLEGEN}_JOBS `` variable is
771
+ overwritten by computing the memory size divided by the
772
+ specified value. The largest memory user is linking, but remember
773
+ that jobs in the other categories might run in parallel to the link
774
+ jobs, and you need to consider their memory requirements when
775
+ in a memory-limited environment. Using a
776
+ ``-DLLVM_RAM_PER_LINK_JOB=10000 `` is a good approximation. On ELF
777
+ platforms debug builds can reduce link-time memory pressure by also
778
+ using ``LLVM_USE_SPLIT_DWARF ``.
787
779
788
780
**LLVM_REVERSE_ITERATION **:BOOL
789
781
If enabled, all supported unordered llvm containers would be iterated in
0 commit comments