diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-09-15 17:43:07 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-09-17 09:44:53 -0400 |
commit | c480f8f27b3baf1240ae330188c8df15dc4f7807 (patch) | |
tree | 4e6ff7be39f568bdbf41c13d2462c185f1fbb5eb /compiler/GHC/Unit/Module | |
parent | 53dc8e41a424909c8c3eccc43695fee0cdcc1555 (diff) | |
download | haskell-c480f8f27b3baf1240ae330188c8df15dc4f7807.tar.gz |
Code Gen: Rewrite shortcutWeightMap more efficiently
This function was one of the main sources of allocation in a ticky
profile due to how it repeatedly deleted nodes from a large map.
Now firstly the cuts are normalised, so that chains of cuts are elimated
before any rewrites are applied. Then the CFG is traversed and
reconstructed once whilst applying the necessary rewrites to remove
shortcutted edges (based on the normalised cuts).
Ticket: #19471
Diffstat (limited to 'compiler/GHC/Unit/Module')
0 files changed, 0 insertions, 0 deletions