Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Unified Diff: src/IceTargetLowering.cpp

Issue 1435363002: Merge fixed alloca stack adjustments into the prolog (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix rebase issues. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/IceTargetLowering.cpp
diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp
index 0ee0afa2301929fa5e2596a709f0db2bd03e3886..5679b107591ac88224392069be6e275ce34280b4 100644
--- a/src/IceTargetLowering.cpp
+++ b/src/IceTargetLowering.cpp
@@ -363,7 +363,9 @@ void TargetLowering::getVarStackSlotParams(
VarList SpilledVariables;
for (Variable *Var : Variables) {
if (Var->hasReg()) {
- RegsUsed[Var->getRegNum()] = true;
+ // Rematerializable uses of esp/ebp do not count as uses for spilling.
John 2015/11/16 14:00:02 I would rather say ... uses of stack/frame pointe
Jim Stichnoth 2015/11/16 14:47:57 I don't understand what this change does. The pur
sehr 2015/11/16 18:42:24 Well, it doesn't work to remove it, as I discovere
sehr 2015/11/16 18:42:24 Done.
Jim Stichnoth 2015/11/16 22:47:18 I spent some quality time with the code to underst
+ if( !Var->isRematerializable())
Jim Stichnoth 2015/11/16 14:47:57 Please run clang-format...
sehr 2015/11/16 18:42:24 Done.
+ RegsUsed[Var->getRegNum()] = true;
continue;
}
// An argument either does not need a stack slot (if passed in a register)

Powered by Google App Engine
This is Rietveld 408576698