diff options
author | jeanPerier <jperier@nvidia.com> | 2025-05-20 16:11:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-20 16:11:27 +0200 |
commit | ed07412888e2ef5a1f36a48eb5a280050e223fad (patch) | |
tree | 0001e8c4f51c06fb4b3494ba5f159923899ef986 /clang/lib/Analysis/ThreadSafety.cpp | |
parent | c19a3cb613bd43813f30d98d34808430ff95b202 (diff) | |
download | llvm-ed07412888e2ef5a1f36a48eb5a280050e223fad.zip llvm-ed07412888e2ef5a1f36a48eb5a280050e223fad.tar.gz llvm-ed07412888e2ef5a1f36a48eb5a280050e223fad.tar.bz2 |
[flang] translate derived type array init to attribute if possible (#140268)
This patch relies on #140235 and #139724 to speed-up compilations of
files with derived type array global with initial value.
Currently, such derived type global init was lowered to an
llvm.mlir.insertvalue chain in the LLVM IR dialect because there was no
way to represent such value via attributes.
This chain was later folded in LLVM dialect to LLVM IR using LLVM IR
(not dialect) folding. This insert chain generation and folding is very
expensive for big arrays. For instance, this patch brings down the
compilation of FM_lib fmsave.f95 from 50s
to 0.5s.
Diffstat (limited to 'clang/lib/Analysis/ThreadSafety.cpp')
0 files changed, 0 insertions, 0 deletions