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 | bd1fccfad59f24267b6fa8b898711d63a3574c7d (patch) | |
tree | f2ecf29e53c17720fd788ff1f51e8c49d28fad86 /lib | |
parent | ef7634ca48c7ed33a88bd80207f3457c07ad85f2 (diff) | |
download | llvm-bd1fccfad59f24267b6fa8b898711d63a3574c7d.tar.gz llvm-bd1fccfad59f24267b6fa8b898711d63a3574c7d.tar.bz2 llvm-bd1fccfad59f24267b6fa8b898711d63a3574c7d.tar.xz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92950 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index f6fc04ccef..8a561eb0e5 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/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); |