Branch fusing

A belated birthday gift for irogers.  Fuse cmp-long/if-XXz,
cmp[lg]-[float|double]/if-XXz.

Change-Id: I8fa87f620fcf4e6bcf291bbc7a0ea6c8f5535467
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h
index 25fc89e..621cccc 100644
--- a/src/compiler/CompilerIR.h
+++ b/src/compiler/CompilerIR.h
@@ -161,10 +161,16 @@
 enum ExtendedMIROpcode {
     kMirOpFirst = kNumPackedOpcodes,
     kMirOpPhi = kMirOpFirst,
+    kMirOpCopy,
+    kMirOpFusedCmplFloat,
+    kMirOpFusedCmpgFloat,
+    kMirOpFusedCmplDouble,
+    kMirOpFusedCmpgDouble,
+    kMirOpFusedCmpLong,
+    kMirOpNop,
     kMirOpNullNRangeUpCheck,
     kMirOpNullNRangeDownCheck,
     kMirOpLowerBound,
-    kMirOpCopy,
     kMirOpLast,
 };
 
@@ -343,7 +349,8 @@
     MIR* phiList;
 
     /* Use counts of ssa names */
-    GrowableList useCounts;
+    GrowableList useCounts;             // Weighted by nesting depth
+    GrowableList rawUseCounts;          // Not weighted
 
     /* Optimization support */
     GrowableList loopHeaders;