summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorScott Michel <scottm@aero.org>2008-03-05 17:49:05 +0000
committerScott Michel <scottm@aero.org>2008-03-05 17:49:05 +0000
commit944207423bd4bed699cb5b8e6042888bfb3211a6 (patch)
treeeadb85e8e66dcf98daa2a740d29ac07971baaa4e /clang/CodeGen/CodeGenFunction.cpp
parent7c08a01698bfc09aba3daa125662a0b3ec8b20f5 (diff)
downloadbcm5719-llvm-944207423bd4bed699cb5b8e6042888bfb3211a6.tar.gz
bcm5719-llvm-944207423bd4bed699cb5b8e6042888bfb3211a6.zip
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. llvm-svn: 47950
Diffstat (limited to 'clang/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud