diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-07 21:59:23 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-07 21:59:23 +0000 |
commit | dab2cd543f3b7631d7d7e88627873747fd324d9c (patch) | |
tree | c47ce11a48516c3105af37ff8ff08f0890d99174 /llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | |
parent | 88de38453f4a9eb955bc24c2664e02856dae29e6 (diff) | |
download | bcm5719-llvm-dab2cd543f3b7631d7d7e88627873747fd324d9c.tar.gz bcm5719-llvm-dab2cd543f3b7631d7d7e88627873747fd324d9c.zip |
Fix rdar://7517201, a regression introduced by r92849.
When folding a and(any_ext(load)) both the any_ext and the
load have to have only a single use.
This removes the anyext-uses.ll testcase which started failing
because it is unreduced and unclear what it is testing.
llvm-svn: 92950
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index f6fc04ccef4..8a561eb0e5e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -1895,7 +1895,7 @@ SDValue DAGCombiner::visitAND(SDNode *N) { ? cast<LoadSDNode>(N0.getOperand(0)) : cast<LoadSDNode>(N0); if (LN0->getExtensionType() != ISD::SEXTLOAD && - LN0->isUnindexed() && N0.hasOneUse()) { + LN0->isUnindexed() && N0.hasOneUse() && LN0->hasOneUse()) { uint32_t ActiveBits = N1C->getAPIntValue().getActiveBits(); if (ActiveBits > 0 && APIntOps::isMask(ActiveBits, N1C->getAPIntValue())){ EVT ExtVT = EVT::getIntegerVT(*DAG.getContext(), ActiveBits); |