[all-commits] [llvm/llvm-project] 31d9ad: [flang][Lower] Explicitly instantiate all template...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Fri Jan 31 04:55:28 PST 2025
Branch: refs/heads/users/kparzysz/spr/utils-template-instantiations
Home: https://github.com/llvm/llvm-project
Commit: 31d9ad8b7e04781052f6c684fe890bbfc6847433
https://github.com/llvm/llvm-project/commit/31d9ad8b7e04781052f6c684fe890bbfc6847433
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M flang/include/flang/Lower/Support/Utils.h
A flang/include/flang/Lower/Support/UtilsInstantiations.def
A flang/include/flang/Lower/Support/print-instantiation-declarations.py
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang][Lower] Explicitly instantiate all templates from Utils.h
This is intended to reduce the memory usage while compiling flang sources.
Specifically, this reduced the peak memory use when compiling OpenMP.cpp
(on my machine) from 4.9g to 3.6g.
The change was to only leave template declarations in the header file and
explicitly instantiate every case that was previously instantiated
implicitly. If a new implicit instantiation appears later on, it will
cause a compilation error (and the explicit instantiation will need to be
added manually).
Most of the instantiation declarations are generated by an included python
script (about 6000 cases). The remaining cases (~1000) are listed
explicitly.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list