OSDN Git Service

Don't merge uses when they are targetting fixup sites with
authorDan Gohman <gohman@apple.com>
Thu, 15 Jul 2010 20:24:58 +0000 (20:24 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 15 Jul 2010 20:24:58 +0000 (20:24 +0000)
commita9db12973005881a1bd1c5eddc31001d9c3189c8
tree0c386eb197ba6c4a9b9fcb95f93aa3bc012401ac
parentd1c58cf7bb3852c0b36d692b29f66a913c55ba0d
Don't merge uses when they are targetting fixup sites with
different widths. In a use with a narrower fixup, formulae
may be wider than the fixup, in which case the high bits
aren't necessarily meaningful, so it isn't safe to reuse
them for uses with wider fixups.

This fixes PR7618, though the testcase is too large for a
reasonable regression test, since it heavily dependes on
hitting LSR's heuristics in a certain way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108455 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopStrengthReduce.cpp