Add support for passing and returning vectors in accordance with the x86 calling convention.

- Add TargetLowering::lowerArguments() as a new stage in TargetLowering.
- Add support for passing arguments/return values in XMM registers in the x86 target.

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

Review URL: https://codereview.chromium.org/372113005
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h
index ddb66fa..ed5389c 100644
--- a/src/IceTargetLowering.h
+++ b/src/IceTargetLowering.h
@@ -148,6 +148,9 @@
 
   virtual void emitVariable(const Variable *Var, const Cfg *Func) const = 0;
 
+  // Performs target-specific argument lowering.
+  virtual void lowerArguments() = 0;
+
   virtual void addProlog(CfgNode *Node) = 0;
   virtual void addEpilog(CfgNode *Node) = 0;