assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/GVNPRE.cpp b/lib/Transforms/Scalar/GVNPRE.cpp
index af7e039..d5098f2 100644
--- a/lib/Transforms/Scalar/GVNPRE.cpp
+++ b/lib/Transforms/Scalar/GVNPRE.cpp
@@ -39,6 +39,7 @@
 #include "llvm/Support/CFG.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Debug.h"
+#include "llvm/Support/ErrorHandling.h"
 #include <algorithm>
 #include <deque>
 #include <map>
@@ -240,7 +241,7 @@
     
     // THIS SHOULD NEVER HAPPEN
     default:
-      assert(0 && "Binary operator with unknown opcode?");
+      LLVM_UNREACHABLE("Binary operator with unknown opcode?");
       return Expression::ADD;
   }
 }
@@ -271,7 +272,7 @@
       
       // THIS SHOULD NEVER HAPPEN
       default:
-        assert(0 && "Comparison with unknown predicate?");
+        LLVM_UNREACHABLE("Comparison with unknown predicate?");
         return Expression::ICMPEQ;
     }
   } else {
@@ -307,7 +308,7 @@
       
       // THIS SHOULD NEVER HAPPEN
       default:
-        assert(0 && "Comparison with unknown predicate?");
+        LLVM_UNREACHABLE("Comparison with unknown predicate?");
         return Expression::FCMPOEQ;
     }
   }
@@ -343,7 +344,7 @@
     
     // THIS SHOULD NEVER HAPPEN
     default:
-      assert(0 && "Cast operator with unknown opcode?");
+      LLVM_UNREACHABLE("Cast operator with unknown opcode?");
       return Expression::BITCAST;
   }
 }
@@ -577,7 +578,7 @@
   if (VI != valueNumbering.end())
     return VI->second;
   else
-    assert(0 && "Value not numbered?");
+    LLVM_UNREACHABLE("Value not numbered?");
   
   return 0;
 }
@@ -767,7 +768,7 @@
     if (v == VN.lookup(*I))
       return *I;
   
-  assert(0 && "No leader found, but present bit is set?");
+  LLVM_UNREACHABLE("No leader found, but present bit is set?");
   return 0;
 }