summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachinePipeliner.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2016-10-11 16:26:36 +0000
committerSanjay Patel <spatel@rotateright.com>2016-10-11 16:26:36 +0000
commit8384703d9bf093a3d1ead01ffb7e5b93285c515b (patch)
tree6fa89cf665b22c0935627afa0c085c2310c7dc30 /llvm/lib/CodeGen/MachinePipeliner.cpp
parentb617286089cac5a3f2a71c9aa60ed9f16621e698 (diff)
downloadbcm5719-llvm-8384703d9bf093a3d1ead01ffb7e5b93285c515b.tar.gz
bcm5719-llvm-8384703d9bf093a3d1ead01ffb7e5b93285c515b.zip
[DAG] add fold for masked negated extended bool
The non-obvious motivation for adding this fold (which already happens in InstCombine) is that we want to canonicalize IR towards select instructions and canonicalize DAG nodes towards boolean math. So we need to recreate some folds in the DAG to handle that change in direction. An interesting implementation difference for cases like this is that InstCombine generally works top-down while the DAG goes bottom-up. That means we need to detect different patterns. In this case, the SimplifyDemandedBits fold prevents us from performing a zext to sext fold that would then be recognized as a negation of a sext. llvm-svn: 283900
Diffstat (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud