summaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2013-05-17 21:43:43 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2013-05-17 21:43:43 +0000
commit9aa8fdfddb7a01f52d887176823dfc4e3f9a81a1 (patch)
treeb32dca07468acd6811209581d79cfefb253bda31 /lib/CodeGen
parent63f3ca5da75a614c603c04757edeaac123879d39 (diff)
downloadllvm-9aa8fdfddb7a01f52d887176823dfc4e3f9a81a1.tar.gz
llvm-9aa8fdfddb7a01f52d887176823dfc4e3f9a81a1.tar.bz2
llvm-9aa8fdfddb7a01f52d887176823dfc4e3f9a81a1.tar.xz
Replace redundant code
Use EVT::changeExtendedVectorElementTypeToInteger instead of doing the same thing that it does git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182165 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index a8621a89a8..72e3f4dd0a 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -4519,16 +4519,11 @@ SDValue DAGCombiner::visitSIGN_EXTEND(SDNode *N) {
return DAG.getSetCC(N->getDebugLoc(), VT, N0.getOperand(0),
N0.getOperand(1),
cast<CondCodeSDNode>(N0.getOperand(2))->get());
+
// If the desired elements are smaller or larger than the source
// elements we can use a matching integer vector type and then
// truncate/sign extend
- EVT MatchingElementType =
- EVT::getIntegerVT(*DAG.getContext(),
- N0VT.getScalarType().getSizeInBits());
- EVT MatchingVectorType =
- EVT::getVectorVT(*DAG.getContext(), MatchingElementType,
- N0VT.getVectorNumElements());
-
+ EVT MatchingVectorType = N0VT.changeVectorElementTypeToInteger();
if (SVT == MatchingVectorType) {
SDValue VsetCC = DAG.getSetCC(N->getDebugLoc(), MatchingVectorType,
N0.getOperand(0), N0.getOperand(1),