Add dex_lang as common frontend to lir and LLVM. dex_lang + bc2lir =
Greenland

First commit of Greenland compiler: It's working in the sense of oat
tests. E.g., mm test-art-host-oat-Fibonacci. It shows the correct
bitcode before lir.

Change-Id: I91cbb02188325eb1fa605ed71ec7108fd2b0dbb9
diff --git a/src/verifier/method_verifier.cc b/src/verifier/method_verifier.cc
index 81c755d..e772e67 100644
--- a/src/verifier/method_verifier.cc
+++ b/src/verifier/method_verifier.cc
@@ -38,6 +38,12 @@
 using namespace art::compiler_llvm;
 #endif
 
+#if defined(ART_USE_GREENLAND_COMPILER)
+#include "greenland/backend_types.h"
+#include "greenland/inferred_reg_category_map.h"
+using namespace art::greenland;
+#endif
+
 namespace art {
 namespace verifier {
 
@@ -946,7 +952,7 @@
 
   Compiler::MethodReference ref(dex_file_, method_idx_);
 
-#if !defined(ART_USE_LLVM_COMPILER)
+#if !defined(ART_USE_LLVM_COMPILER) && !defined(ART_USE_GREENLAND_COMPILER)
 
   /* Generate a register map and add it to the method. */
   UniquePtr<const std::vector<uint8_t> > map(GenerateGcMap());
@@ -964,8 +970,7 @@
     foo_method_->SetGcMap(&gc_map->at(0));
   }
 
-#else  //defined(ART_USE_LLVM_COMPILER)
-
+#else  // defined(ART_USE_LLVM_COMPILER) || defined(ART_USE_GREENLAND_COMPILER)
   /* Generate Inferred Register Category for LLVM-based Code Generator */
   const InferredRegCategoryMap* table = GenerateInferredRegCategoryMap();
   verifier::MethodVerifier::SetInferredRegCategoryMap(ref, *table);
@@ -3329,7 +3334,7 @@
   return (rejected_classes.find(ref) != rejected_classes.end());
 }
 
-#if defined(ART_USE_LLVM_COMPILER)
+#if defined(ART_USE_LLVM_COMPILER) || defined(ART_USE_GREENLAND_COMPILER)
 const InferredRegCategoryMap* MethodVerifier::GenerateInferredRegCategoryMap() {
   uint32_t insns_size = code_item_->insns_size_in_code_units_;
   uint16_t regs_size = code_item_->registers_size_;