summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2012-04-22 09:39:03 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2012-04-22 09:39:03 +0000
commit8d7e56c409ffab2e9d99b410ffd033ba142078ba (patch)
treeff3c3245ca37de43c72d6af19cb8ba3a902ac884 /llvm/lib/CodeGen
parentf9774c32537a963c296c3bb16010d7aca9524654 (diff)
downloadbcm5719-llvm-8d7e56c409ffab2e9d99b410ffd033ba142078ba.tar.gz
bcm5719-llvm-8d7e56c409ffab2e9d99b410ffd033ba142078ba.zip
ZERO_EXTEND/SIGN_EXTEND/TRUNCATE optimization for AVX2
llvm-svn: 155309
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 1ed1ee77e46..e72c8d5f2d4 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -4520,8 +4520,10 @@ SDValue DAGCombiner::visitZERO_EXTEND(SDNode *N) {
SDValue Op = N0.getOperand(0);
if (Op.getValueType().bitsLT(VT)) {
Op = DAG.getNode(ISD::ANY_EXTEND, N->getDebugLoc(), VT, Op);
+ AddToWorkList(Op.getNode());
} else if (Op.getValueType().bitsGT(VT)) {
Op = DAG.getNode(ISD::TRUNCATE, N->getDebugLoc(), VT, Op);
+ AddToWorkList(Op.getNode());
}
return DAG.getZeroExtendInReg(Op, N->getDebugLoc(),
N0.getValueType().getScalarType());
OpenPOWER on IntegriCloud