aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineStableHash.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2024-03-25 11:31:51 +0100
committerGitHub <noreply@github.com>2024-03-25 11:31:51 +0100
commita0e9a8da45402eea0db71976ab78d195a7287222 (patch)
treea8db88c8a0ccf7aa0f9e90621e069e8dc3dac2a4 /llvm/lib/CodeGen/MachineStableHash.cpp
parentf0eb9083402c0130f240a7ef948b3f7b3bdf221c (diff)
downloadllvm-a0e9a8da45402eea0db71976ab78d195a7287222.zip
llvm-a0e9a8da45402eea0db71976ab78d195a7287222.tar.gz
llvm-a0e9a8da45402eea0db71976ab78d195a7287222.tar.bz2
[flang][NFC] speedup BoxedProcedure for derived types with many components (#86144)
This patch speeds up the compilation time of the example in https://github.com/llvm/llvm-project/issues/76478#issuecomment-2011023289 from 2 minutes with my builds to about 2 seconds. MLIR timers showed more than 98% of the time was spend in BoxedProcedure trying to figure out if a type needs to be converted. This is because walking the fir.type members is very expansive for types containing many components and/or components with many sub-components. Increase the caching time of visited types from "the type being visited" to "the whole pass". Use DenseMap since it is not ok anymore to assume this container will only have a few elements.
Diffstat (limited to 'llvm/lib/CodeGen/MachineStableHash.cpp')
0 files changed, 0 insertions, 0 deletions