Continuing Quick compiler refactoring

With this CL, we no longer include any .cc files - all source
files compile stand-alone.   We still build a separate .so for
each target, but all code in the target-independent "codegen"
directory is now truly independent and doesn't rely on any
target-specific macros to compile.

Header file inclusion is still a bit of a mess, but that will be
addressed in a subsequent CL.

Next up: create a codegen class to hold code generator routines
overrideable by target.

Change-Id: I3a93118d11afeab11f310950a6a73381a99e26e1
diff --git a/src/compiler/codegen/method_bitcode.cc b/src/compiler/codegen/method_bitcode.cc
index 2996e9a..72e3e68 100644
--- a/src/compiler/codegen/method_bitcode.cc
+++ b/src/compiler/codegen/method_bitcode.cc
@@ -27,8 +27,11 @@
 #include <llvm/Support/Casting.h>
 #include <llvm/Support/InstIterator.h>
 
+#include "../compiler_internals.h"
 #include "method_codegen_driver.h"
 #include "local_optimizations.h"
+#include "codegen_util.h"
+#include "ralloc_util.h"
 
 static const char* kLabelFormat = "%c0x%x_%d";
 static const char kInvalidBlock = 0xff;
@@ -36,7 +39,10 @@
 static const char kCatchBlock = 'C';
 
 namespace art {
-extern const RegLocation badLoc;
+// TODO: unify badLoc
+const RegLocation badLoc = {kLocDalvikFrame, 0, 0, 0, 0, 0, 0, 0, 0,
+                            INVALID_REG, INVALID_REG, INVALID_SREG,
+                            INVALID_SREG};
 RegLocation getLoc(CompilationUnit* cUnit, llvm::Value* val);
 
 llvm::BasicBlock* getLLVMBlock(CompilationUnit* cUnit, int id)