From: Simon Pilgrim Date: Wed, 19 Oct 2016 11:28:15 +0000 (+0000) Subject: [DAGCombiner] Just call isConstOrConstSplat directly. NFCI. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7dcb6e572ec7d62cc6744df4452fc7ef80f20c36;p=platform%2Fupstream%2Fllvm.git [DAGCombiner] Just call isConstOrConstSplat directly. NFCI. This will get the same ConstantSDNode scalar or vector splat value as the current separate dyn_cast / isVector() approach. llvm-svn: 284578 --- diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 6a047ac..9384d47 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -4704,13 +4704,11 @@ SDValue DAGCombiner::visitSRA(SDNode *N) { return N0; // fold vector ops - ConstantSDNode *N1C = dyn_cast(N1); - if (VT.isVector()) { + if (VT.isVector()) if (SDValue FoldedVOp = SimplifyVBinOp(N)) return FoldedVOp; - N1C = isConstOrConstSplat(N1); - } + ConstantSDNode *N1C = isConstOrConstSplat(N1); // fold (sra c1, c2) -> (sra c1, c2) ConstantSDNode *N0C = getAsNonOpaqueConstant(N0); @@ -4856,13 +4854,11 @@ SDValue DAGCombiner::visitSRL(SDNode *N) { unsigned OpSizeInBits = VT.getScalarSizeInBits(); // fold vector ops - ConstantSDNode *N1C = dyn_cast(N1); - if (VT.isVector()) { + if (VT.isVector()) if (SDValue FoldedVOp = SimplifyVBinOp(N)) return FoldedVOp; - N1C = isConstOrConstSplat(N1); - } + ConstantSDNode *N1C = isConstOrConstSplat(N1); // fold (srl c1, c2) -> c1 >>u c2 ConstantSDNode *N0C = getAsNonOpaqueConstant(N0);