Inline memove for small constant sizes and refactor memcpy and memset.

The memory intrinsics are only optimized at -O1 and higher unless the
-fmem-intrin-opt flag is set to force to optimization to take place.

This change also introduces the xchg instruction for two register operands. This
is no longer used in the memory intrinsic lowering (or by anything else) but the
implementation is left for future use.

BUG=
R=jvoung@chromium.org, stichnot@chromium.org

Review URL: https://codereview.chromium.org/1278173009.
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h
index 2d03a76..a5e6064 100644
--- a/src/IceTargetLowering.h
+++ b/src/IceTargetLowering.h
@@ -351,6 +351,8 @@
     Context.getLastInserted()->setDestNonKillable();
   }
 
+  bool shouldOptimizeMemIntrins();
+
   Cfg *Func;
   GlobalContext *Ctx;
   bool HasComputedFrame = false;