When complicated expressions are broken down into subexpressions
authorDan Gohman <gohman@apple.com>
Sun, 14 Feb 2010 18:50:49 +0000 (18:50 +0000)
committerDan Gohman <gohman@apple.com>
Sun, 14 Feb 2010 18:50:49 +0000 (18:50 +0000)
commitce947366ec07ed3e9b017f0f4a07fa668a799119
tree71f28ad57916ef92bac7c6d05648627482181163
parent44de6823fc36eb7151b4a3077db9b10ec8f14442
When complicated expressions are broken down into subexpressions
with multiplication by constants distributed through, occasionally
those subexpressions can include both x and -x. For now, if this
condition is discovered within LSR, just prune such cases away,
as they won't be profitable. This fixes a "zero allocated in a
base register" assertion failure.

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