emitIAS for push -- simplify push since it's not used for args passing anymore
Since push isn't used for args passing anymore, the cases of handling
push for vectors and floats/doubles isn't needed anymore. Passing
vectors requires a bit more care of alignment, so that was changed.
I can imagine push needing to handle addresses later (at least on
x86-64 to push the lower 32-bits of return address), but for now,
this means only handling GPRs. The XMM registers are not callee saved.
BUG=none
R=stichnot@chromium.org
Review URL: https://codereview.chromium.org/633553003
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
index e837710..6829eee 100644
--- a/src/IceTargetLoweringX8632.cpp
+++ b/src/IceTargetLoweringX8632.cpp
@@ -748,8 +748,7 @@
if (CalleeSaves[i] && RegsUsed[i]) {
++NumCallee;
PreservedRegsSizeBytes += 4;
- const bool SuppressStackAdjustment = true;
- _push(getPhysicalRegister(i), SuppressStackAdjustment);
+ _push(getPhysicalRegister(i));
}
}
Ctx->statsUpdateRegistersSaved(NumCallee);
@@ -761,8 +760,7 @@
PreservedRegsSizeBytes += 4;
Variable *ebp = getPhysicalRegister(RegX8632::Reg_ebp);
Variable *esp = getPhysicalRegister(RegX8632::Reg_esp);
- const bool SuppressStackAdjustment = true;
- _push(ebp, SuppressStackAdjustment);
+ _push(ebp);
_mov(ebp, esp);
}