summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/locations.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-09-30 13:54:09 +0100
committerNicolas Geoffray <ngeoffray@google.com>2014-10-06 18:52:56 +0100
commit26a25ef62a13f409f941aa39825a51b4d6f0f047 (patch)
treeaa0ed991cfcea17297e85f74624a44e32e8913cf /compiler/optimizing/locations.h
parent17b1c174dddb1d83018740c2084ab42daa812fff (diff)
downloadart-26a25ef62a13f409f941aa39825a51b4d6f0f047.zip
art-26a25ef62a13f409f941aa39825a51b4d6f0f047.tar.gz
art-26a25ef62a13f409f941aa39825a51b4d6f0f047.tar.bz2
Add a prepare for register allocation pass.
- Currently the pass just changes the uses of checks to the actual values. - Also optimize array access, now that inputs can be constants. - And fix another bug in the register allocator reveiled by this change. Change-Id: I43be0dbde9330ee5c8f9d678de11361292d8bd98
Diffstat (limited to 'compiler/optimizing/locations.h')
-rw-r--r--compiler/optimizing/locations.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/locations.h b/compiler/optimizing/locations.h
index 8d0715a..0e77deb 100644
--- a/compiler/optimizing/locations.h
+++ b/compiler/optimizing/locations.h
@@ -221,6 +221,7 @@ class Location : public ValueObject {
}
static Location RegisterOrConstant(HInstruction* instruction);
+ static Location ByteRegisterOrConstant(ManagedRegister reg, HInstruction* instruction);
// The location of the first input to the instruction will be
// used to replace this unallocated location.
@@ -422,6 +423,8 @@ class LocationSummary : public ArenaObject {
DISALLOW_COPY_AND_ASSIGN(LocationSummary);
};
+std::ostream& operator<<(std::ostream& os, const Location& location);
+
} // namespace art
#endif // ART_COMPILER_OPTIMIZING_LOCATIONS_H_