[X86] Use cast instead of dyn_cast and a null check marked unreachable.
authorCraig Topper <craig.topper@gmail.com>
Mon, 2 Nov 2015 07:24:25 +0000 (07:24 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 2 Nov 2015 07:24:25 +0000 (07:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251774 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 1f5b4d964770c84fd4b091ea688d78dc0e915d32..ba25912cc4a5b7e6a5718a5ced869c3ac2cb96bd 100644 (file)
@@ -16653,9 +16653,7 @@ static SDValue getGatherNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
                               SDValue Index, SDValue ScaleOp, SDValue Chain,
                               const X86Subtarget * Subtarget) {
   SDLoc dl(Op);
                               SDValue Index, SDValue ScaleOp, SDValue Chain,
                               const X86Subtarget * Subtarget) {
   SDLoc dl(Op);
-  ConstantSDNode *C = dyn_cast<ConstantSDNode>(ScaleOp);
-  if (!C)
-    llvm_unreachable("Invalid scale type");
+  auto *C = cast<ConstantSDNode>(ScaleOp);
   unsigned ScaleVal = C->getZExtValue();
   if (ScaleVal > 2 && ScaleVal != 4 && ScaleVal != 8)
     llvm_unreachable("Valid scale values are 1, 2, 4, 8");
   unsigned ScaleVal = C->getZExtValue();
   if (ScaleVal > 2 && ScaleVal != 4 && ScaleVal != 8)
     llvm_unreachable("Valid scale values are 1, 2, 4, 8");
@@ -16692,9 +16690,7 @@ static SDValue getScatterNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
                                SDValue Src, SDValue Mask, SDValue Base,
                                SDValue Index, SDValue ScaleOp, SDValue Chain) {
   SDLoc dl(Op);
                                SDValue Src, SDValue Mask, SDValue Base,
                                SDValue Index, SDValue ScaleOp, SDValue Chain) {
   SDLoc dl(Op);
-  ConstantSDNode *C = dyn_cast<ConstantSDNode>(ScaleOp);
-  if (!C)
-    llvm_unreachable("Invalid scale type");
+  auto *C = cast<ConstantSDNode>(ScaleOp);
   unsigned ScaleVal = C->getZExtValue();
   if (ScaleVal > 2 && ScaleVal != 4 && ScaleVal != 8)
     llvm_unreachable("Valid scale values are 1, 2, 4, 8");
   unsigned ScaleVal = C->getZExtValue();
   if (ScaleVal > 2 && ScaleVal != 4 && ScaleVal != 8)
     llvm_unreachable("Valid scale values are 1, 2, 4, 8");
@@ -16728,8 +16724,7 @@ static SDValue getPrefetchNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
                                SDValue Mask, SDValue Base, SDValue Index,
                                SDValue ScaleOp, SDValue Chain) {
   SDLoc dl(Op);
                                SDValue Mask, SDValue Base, SDValue Index,
                                SDValue ScaleOp, SDValue Chain) {
   SDLoc dl(Op);
-  ConstantSDNode *C = dyn_cast<ConstantSDNode>(ScaleOp);
-  assert(C && "Invalid scale type");
+  auto *C = cast<ConstantSDNode>(ScaleOp);
   SDValue Scale = DAG.getTargetConstant(C->getZExtValue(), dl, MVT::i8);
   SDValue Disp = DAG.getTargetConstant(0, dl, MVT::i32);
   SDValue Segment = DAG.getRegister(0, MVT::i32);
   SDValue Scale = DAG.getTargetConstant(C->getZExtValue(), dl, MVT::i8);
   SDValue Disp = DAG.getTargetConstant(0, dl, MVT::i32);
   SDValue Segment = DAG.getRegister(0, MVT::i32);