OSDN Git Service

[SelectionDAG] Use report_fatal_error instead of llvm_unreachable in some code that...
authorCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 06:02:03 +0000 (06:02 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 16 Nov 2017 06:02:03 +0000 (06:02 +0000)
For example, this is currently reachable by X86 if you use a masked store intrinsic with a v1iX type.

Using a fatal error seems like a better user experience if someone were to encounter this on a release build. There are several other similar places that have been converted from unreachable to fatal error previously.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318379 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

index b55414b..6cfd77f 100644 (file)
@@ -461,7 +461,8 @@ bool DAGTypeLegalizer::ScalarizeVectorOperand(SDNode *N, unsigned OpNo) {
       N->dump(&DAG);
       dbgs() << "\n";
 #endif
-      llvm_unreachable("Do not know how to scalarize this operator's operand!");
+      report_fatal_error("Do not know how to scalarize this operator's "
+                         "operand!\n");
     case ISD::BITCAST:
       Res = ScalarizeVecOp_BITCAST(N);
       break;