Foundation for Quick LLVM compiler

Ready for review - probably better get this cleaned up and
checked in even though much work remains.

Basic conversion from MIR to GreenlandIR and from GreenlandIR
back to LIR.  Support sufficient to run Fibonacci test.

Note some structural changes in MIR to support this work:
    o  retaining incoming label for phi nodes
    o  constant propagation
    o  include object reference detection in type inference pass

Change-Id: I8ba63c73e76d071aa40cae0f744e598b96f68699
diff --git a/src/compiler/codegen/arm/ArchFactory.cc b/src/compiler/codegen/arm/ArchFactory.cc
index bc30335..c0d91a4 100644
--- a/src/compiler/codegen/arm/ArchFactory.cc
+++ b/src/compiler/codegen/arm/ArchFactory.cc
@@ -56,7 +56,7 @@
   return rLR;
 }
 
-void genEntrySequence(CompilationUnit* cUnit, BasicBlock* bb)
+void genEntrySequence(CompilationUnit* cUnit)
 {
   int spillCount = cUnit->numCoreSpills + cUnit->numFPSpills;
   /*
@@ -116,7 +116,7 @@
   oatFreeTemp(cUnit, r3);
 }
 
-void genExitSequence(CompilationUnit* cUnit, BasicBlock* bb)
+void genExitSequence(CompilationUnit* cUnit)
 {
   int spillCount = cUnit->numCoreSpills + cUnit->numFPSpills;
   /*
diff --git a/src/compiler/codegen/arm/ArmLIR.h b/src/compiler/codegen/arm/ArmLIR.h
index 93e7878..4004fbb 100644
--- a/src/compiler/codegen/arm/ArmLIR.h
+++ b/src/compiler/codegen/arm/ArmLIR.h
@@ -125,10 +125,10 @@
 #define rNone   (-1)
 
 /* RegisterLocation templates return values (r0, or r0/r1) */
-#define LOC_C_RETURN {kLocPhysReg, 0, 0, 0, 0, 0, 0, 1, r0, INVALID_REG,\
-                      INVALID_SREG}
-#define LOC_C_RETURN_WIDE {kLocPhysReg, 1, 0, 0, 0, 0, 0, 1, r0, r1, \
-                      INVALID_SREG}
+#define LOC_C_RETURN {kLocPhysReg, 0, 0, 0, 0, 0, 0, 0, 1, r0, INVALID_REG,\
+                      INVALID_SREG, INVALID_SREG}
+#define LOC_C_RETURN_WIDE {kLocPhysReg, 1, 0, 0, 0, 0, 0, 0, 1, r0, r1, \
+                      INVALID_SREG, INVALID_SREG}
 #define LOC_C_RETURN_FLOAT  LOC_C_RETURN
 #define LOC_C_RETURN_WIDE_DOUBLE  LOC_C_RETURN_WIDE
 
diff --git a/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc b/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc
index f7132ab..660d095 100644
--- a/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc
+++ b/src/compiler/codegen/arm/armv7-a-neon/Codegen.cc
@@ -45,6 +45,9 @@
 /* Thumb2-specific register allocation */
 #include "../Thumb2/Ralloc.cc"
 
+/* Bitcode conversion */
+#include "../../MethodBitcode.cc"
+
 /* MIR2LIR dispatcher and architectural independent codegen routines */
 #include "../../MethodCodegenDriver.cc"
 
diff --git a/src/compiler/codegen/arm/armv7-a/Codegen.cc b/src/compiler/codegen/arm/armv7-a/Codegen.cc
index 6f62ccf..ba1e7ab 100644
--- a/src/compiler/codegen/arm/armv7-a/Codegen.cc
+++ b/src/compiler/codegen/arm/armv7-a/Codegen.cc
@@ -45,6 +45,9 @@
 /* Thumb2-specific register allocation */
 #include "../Thumb2/Ralloc.cc"
 
+/* Bitcode conversion */
+#include "../../MethodBitcode.cc"
+
 /* MIR2LIR dispatcher and architectural independent codegen routines */
 #include "../../MethodCodegenDriver.cc"