Don't assign the shift the same type as the variable being shifted. This could

result in illegal types for the SHL operator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92797 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2010-01-05 22:39:10 +00:00
parent 8314299161
commit 9f7c5c0dca
2 changed files with 18 additions and 1 deletions

View File

@@ -3322,7 +3322,9 @@ SDValue DAGCombiner::visitZERO_EXTEND(SDNode *N) {
DebugLoc dl = N->getDebugLoc();
return DAG.getNode(N0.getOpcode(), dl, VT,
DAG.getNode(ISD::ZERO_EXTEND, dl, VT, N0.getOperand(0)),
DAG.getNode(ISD::ZERO_EXTEND, dl, VT, N0.getOperand(1)));
DAG.getNode(ISD::ZERO_EXTEND, dl,
N0.getOperand(1).getValueType(),
N0.getOperand(1)));
}
return SDValue();