aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-07-16 16:13:58 +0000
committerDan Gohman <gohman@apple.com>2008-07-16 16:13:58 +0000
commit7a9a5af6a06058e86e9eae5a5486f651aeeda2ec (patch)
tree4725eef79ccbcd2a20b778c8db5a4ff5261165e7
parent9cf80fac2967b0476ec5dc87fc4dad51d3b0c1b0 (diff)
downloadexternal_llvm-7a9a5af6a06058e86e9eae5a5486f651aeeda2ec.zip
external_llvm-7a9a5af6a06058e86e9eae5a5486f651aeeda2ec.tar.gz
external_llvm-7a9a5af6a06058e86e9eae5a5486f651aeeda2ec.tar.bz2
Fix the result type of a VECTOR_SHUFFLE+BIT_CONVERT dagcombine. This
was turned up by some new SelectionDAG assertion checks that I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53687 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 581d6ee..14efb44 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -5070,9 +5070,8 @@ SDOperand DAGCombiner::XformToShuffleWithZero(SDNode *N) {
&IdxOps[0], IdxOps.size()));
SDOperand Result = DAG.getNode(ISD::VECTOR_SHUFFLE, VT,
&Ops[0], Ops.size());
- if (VT != LHS.getValueType()) {
- Result = DAG.getNode(ISD::BIT_CONVERT, LHS.getValueType(), Result);
- }
+ if (VT != N->getValueType(0))
+ Result = DAG.getNode(ISD::BIT_CONVERT, N->getValueType(0), Result);
return Result;
}
}