diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2017-11-28 07:48:12 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2017-11-28 07:48:12 +0000 |
commit | cf9b1b24ce6690bbb83ecbdec69096fe840b92b1 (patch) | |
tree | 586863da8d382c638667677b1470aeca94a37cbd /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 08c2f0fabb5d54f0e60c980dd6e1b7f9d5d00ee7 (diff) | |
download | llvm-cf9b1b24ce6690bbb83ecbdec69096fe840b92b1.zip llvm-cf9b1b24ce6690bbb83ecbdec69096fe840b92b1.tar.gz llvm-cf9b1b24ce6690bbb83ecbdec69096fe840b92b1.tar.bz2 |
[SCEV][NFC] More efficient caching in CompareSCEVComplexity
Currently, we use a set of pairs to cache responces like `CompareSCEVComplexity(X, Y) == 0`. If we had
proved that `CompareSCEVComplexity(S1, S2) == 0` and `CompareSCEVComplexity(S2, S3) == 0`,
this cache does not allow us to prove that `CompareSCEVComplexity(S1, S3)` is also `0`.
This patch replaces this set with `EquivalenceClasses` any two values from the same set are equal from
point of `CompareSCEVComplexity`. This, in particular, allows us to prove the fact from example above.
Differential Revision: https://reviews.llvm.org/D40428
llvm-svn: 319149
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions