Separate out more of LLVM build. Move verifier.

Move the verifier to its own directory and break out major components.
Avoid compiling unused files as part of the LLVM build, increase the use
of unimplemented for LLVM.

Change-Id: Icd3b1708363fb70ae99417d06ef8669d60446533
diff --git a/src/compiler.cc b/src/compiler.cc
index 0a88cff..ce7eb3c 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -25,7 +25,6 @@
 #include "class_linker.h"
 #include "class_loader.h"
 #include "dex_cache.h"
-#include "dex_verifier.h"
 #include "jni_internal.h"
 #include "oat_compilation_unit.h"
 #include "oat_file.h"
@@ -34,6 +33,7 @@
 #include "space.h"
 #include "stl_util.h"
 #include "timing_logger.h"
+#include "verifier/method_verifier.h"
 
 #if defined(__APPLE__)
 #include <mach-o/dyld.h>
@@ -1147,7 +1147,7 @@
      * will be rejected by the verifier and later skipped during compilation in the compiler.
      */
     std::string error_msg;
-    if (!verifier::DexVerifier::VerifyClass(context->GetDexFile(), context->GetDexCache(),
+    if (!verifier::MethodVerifier::VerifyClass(context->GetDexFile(), context->GetDexCache(),
         context->GetClassLoader(), class_def_index, error_msg)) {
       const DexFile::ClassDef& class_def = context->GetDexFile()->GetClassDef(class_def_index);
       LOG(ERROR) << "Verification failed on class "
@@ -1164,7 +1164,7 @@
     CHECK(Thread::Current()->IsExceptionPending());
     Thread::Current()->ClearException();
     art::Compiler::ClassReference ref(context->GetDexFile(), class_def_index);
-    if (!verifier::DexVerifier::IsClassRejected(ref)) {
+    if (!verifier::MethodVerifier::IsClassRejected(ref)) {
       // If the erroneous class wasn't rejected by the verifier, it was a soft error. We want
       // to try verification again at run-time, so move back into the resolved state.
       klass->SetStatus(Class::kStatusResolved);
@@ -1265,7 +1265,7 @@
   }
   ClassReference ref(&dex_file, class_def_index);
   // Skip compiling classes with generic verifier failures since they will still fail at runtime
-  if (verifier::DexVerifier::IsClassRejected(ref)) {
+  if (verifier::MethodVerifier::IsClassRejected(ref)) {
     return;
   }
   const byte* class_data = dex_file.GetClassData(class_def);
@@ -1456,7 +1456,7 @@
   if (compiled_method == NULL) {
     return;
   }
-  const std::vector<uint8_t>* gc_map = verifier::DexVerifier::GetGcMap(ref);
+  const std::vector<uint8_t>* gc_map = verifier::MethodVerifier::GetGcMap(ref);
   if (gc_map == NULL) {
     return;
   }