Scott Michel 327d0651f8 This patch fixes a problem encountered by the CellSPU backend where variants
were being pruned in patterns where a variable was used more than once, e.g.:

  (or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC)))

In this example, $rC is used more than once and is actually significant to
instruction selection pattern matching when commuted variants are produced.
This patch scans the pattern's clauses and collects the variables, creating
a set of variables that are used more than once. TreePatternNode::isIsomorphicTo()
also understands that multiply-used variables are significant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47950 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 17:49:05 +00:00
..
2007-12-29 20:37:13 +00:00
2008-01-29 12:35:50 +00:00
2007-12-29 20:37:13 +00:00
2006-08-09 19:40:13 +00:00
2007-12-29 20:37:13 +00:00
2007-12-29 20:37:13 +00:00
2007-12-29 20:37:13 +00:00
2007-02-14 07:39:35 +00:00
2007-07-03 21:57:50 +00:00