llvm-project
d68c7324 - [flang] Use precompiled headers in Frontend, Lower, Parser, Semantics and Evaluate (#131137)

Commit
154 days ago
[flang] Use precompiled headers in Frontend, Lower, Parser, Semantics and Evaluate (#131137) Precompiling larger headers can save a lot of compile time across various compilation units. For the time being, disable precompiled headers for ccache builds on Windows due to issues with reliably passing the appropriate options to ccache. Selected compile time & memory improvements are as follows: flang/lib/Parser/Fortran-parsers.cpp: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68 Maximum resident set size (kbytes): 2062140 -> 1745584 flang/lib/Lower/Bridge.cpp: Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86 Maximum resident set size (kbytes): 3849144 -> 2443476 flang/lib/Lower/PFTBuilder.cpp Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99 Maximum resident set size (kbytes): 4218368 -> 2923128 flang/lib/Lower/Allocatable.cpp Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50 Maximum resident set size (kbytes): 3092840 -> 2116908 flang/lib/Semantics/Semantics.cpp Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20 Maximum resident set size (kbytes): 3527744 -> 2545308 While the newly added precompiled headers are as follows: Parser: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.62 Maximum resident set size (kbytes): 1034608 Lower: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:41.33 Maximum resident set size (kbytes): 3615240 Semantics: Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.69 Maximum resident set size (kbytes): 2403776 --------- Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com>
Author
Parents
Loading