Include the use kind along with the expression in the key of the
authorDan Gohman <gohman@apple.com>
Sat, 19 Jun 2010 21:29:59 +0000 (21:29 +0000)
committerDan Gohman <gohman@apple.com>
Sat, 19 Jun 2010 21:29:59 +0000 (21:29 +0000)
commit1e3121c80a02359fda87cf77ce1fd7bbd5066991
tree9139b8e9176ac3fce7372447078ce25a34a3b9a5
parentb6211710acdf558b3b45c2d198e74aa602496893
Include the use kind along with the expression in the key of the
use sharing map. The reconcileNewOffset logic already forces a
separate use if the kinds differ, so incorporating the kind in the
key means we can track more sharing opportunities.

More sharing means fewer total uses to track, which means smaller
problem sizes, which means the conservative throttles don't kick
in as often.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106396 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopStrengthReduce.cpp
test/CodeGen/X86/lsr-reuse.ll