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/gen_common.cc b/src/compiler/codegen/gen_common.cc
index c548376..649ae82 100644
--- a/src/compiler/codegen/gen_common.cc
+++ b/src/compiler/codegen/gen_common.cc
@@ -15,6 +15,9 @@
  */
 
 #include "oat/runtime/oat_support_entrypoints.h"
+#include "../compiler_ir.h"
+#include "ralloc_util.h"
+#include "codegen_util.h"
 
 namespace art {
 
@@ -610,9 +613,8 @@
     } else {
       rlSrc = loadValue(cUnit, rlSrc, kAnyReg);
     }
-//FIXME: need to generalize the barrier call
     if (isVolatile) {
-      oatGenMemBarrier(cUnit, kST);
+      oatGenMemBarrier(cUnit, kStoreStore);
     }
     if (isLongOrDouble) {
       storeBaseDispWide(cUnit, rBase, fieldOffset, rlSrc.lowReg,
@@ -621,7 +623,7 @@
       storeWordDisp(cUnit, rBase, fieldOffset, rlSrc.lowReg);
     }
     if (isVolatile) {
-      oatGenMemBarrier(cUnit, kSY);
+      oatGenMemBarrier(cUnit, kStoreLoad);
     }
     if (isObject) {
       markGCCard(cUnit, rlSrc.lowReg, rBase);
@@ -698,7 +700,7 @@
     // rBase now holds static storage base
     RegLocation rlResult = oatEvalLoc(cUnit, rlDest, kAnyReg, true);
     if (isVolatile) {
-      oatGenMemBarrier(cUnit, kSY);
+      oatGenMemBarrier(cUnit, kLoadLoad);
     }
     if (isLongOrDouble) {
       loadBaseDispWide(cUnit, rBase, fieldOffset, rlResult.lowReg,
@@ -894,7 +896,7 @@
         loadBaseDispWide(cUnit, rlObj.lowReg, fieldOffset, rlResult.lowReg,
                          rlResult.highReg, rlObj.sRegLow);
         if (isVolatile) {
-          oatGenMemBarrier(cUnit, kSY);
+          oatGenMemBarrier(cUnit, kLoadLoad);
         }
       } else {
         int regPtr = oatAllocTemp(cUnit);
@@ -902,7 +904,7 @@
         rlResult = oatEvalLoc(cUnit, rlDest, regClass, true);
         loadPair(cUnit, regPtr, rlResult.lowReg, rlResult.highReg);
         if (isVolatile) {
-          oatGenMemBarrier(cUnit, kSY);
+          oatGenMemBarrier(cUnit, kLoadLoad);
         }
         oatFreeTemp(cUnit, regPtr);
       }
@@ -913,7 +915,7 @@
       loadBaseDisp(cUnit, rlObj.lowReg, fieldOffset, rlResult.lowReg,
                    kWord, rlObj.sRegLow);
       if (isVolatile) {
-        oatGenMemBarrier(cUnit, kSY);
+        oatGenMemBarrier(cUnit, kLoadLoad);
       }
       storeValue(cUnit, rlDest, rlResult);
     }
@@ -951,22 +953,22 @@
       regPtr = oatAllocTemp(cUnit);
       opRegRegImm(cUnit, kOpAdd, regPtr, rlObj.lowReg, fieldOffset);
       if (isVolatile) {
-        oatGenMemBarrier(cUnit, kST);
+        oatGenMemBarrier(cUnit, kStoreStore);
       }
       storeBaseDispWide(cUnit, regPtr, 0, rlSrc.lowReg, rlSrc.highReg);
       if (isVolatile) {
-        oatGenMemBarrier(cUnit, kSY);
+        oatGenMemBarrier(cUnit, kLoadLoad);
       }
       oatFreeTemp(cUnit, regPtr);
     } else {
       rlSrc = loadValue(cUnit, rlSrc, regClass);
       genNullCheck(cUnit, rlObj.sRegLow, rlObj.lowReg, optFlags);
       if (isVolatile) {
-        oatGenMemBarrier(cUnit, kST);
+        oatGenMemBarrier(cUnit, kStoreStore);
       }
       storeBaseDisp(cUnit, rlObj.lowReg, fieldOffset, rlSrc.lowReg, kWord);
       if (isVolatile) {
-        oatGenMemBarrier(cUnit, kSY);
+        oatGenMemBarrier(cUnit, kLoadLoad);
       }
       if (isObject) {
         markGCCard(cUnit, rlSrc.lowReg, rlObj.lowReg);