diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-09-30 13:54:09 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-10-06 18:52:56 +0100 |
commit | 26a25ef62a13f409f941aa39825a51b4d6f0f047 (patch) | |
tree | aa0ed991cfcea17297e85f74624a44e32e8913cf /compiler/optimizing/locations.h | |
parent | 17b1c174dddb1d83018740c2084ab42daa812fff (diff) | |
download | art-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.h | 3 |
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_ |