diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-11-10 21:41:33 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-12-03 21:04:50 -0500 |
commit | 78b67ad0e891fc3b66df72643fb173dc985e8306 (patch) | |
tree | 2520251bf1af6fea29c6f461dab5985a3f12fe95 /llvm-targets | |
parent | 25019d18109cd620a2cf6ab0e7d417d14935e8a5 (diff) | |
download | haskell-78b67ad0e891fc3b66df72643fb173dc985e8306.tar.gz |
Simplify uniqAway
This does two things:
* Eliminate all uses of Unique.deriveUnique, which was quite easy to
mis-use and extremely subtle.
* Rename the previous "derived unique" notion to "local unique". This
is possible because the only places where `uniqAway` can be safely
used are those where local uniqueness (with respect to some
InScopeSet) is sufficient.
* Rework the implementation of VarEnv.uniqAway, as discussed in #17462.
This should make the operation significantly more efficient than its
previous iterative implementation..
Metric Decrease:
T9872c
T12227
T9233
T14683
T5030
T12545
hie002
Metric Increase:
T9961
Diffstat (limited to 'llvm-targets')
0 files changed, 0 insertions, 0 deletions