diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-12 16:11:02 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-05-13 09:06:14 +0100 |
commit | 622d9c31febd950255b36a48b47e1f630197c5fe (patch) | |
tree | 8a7f14ce3c6c087955ad5fe91a3ce7d5b5a82461 /runtime/base/bit_vector.cc | |
parent | 98a8a542f95e41c09d214a329a940b270f08f5b3 (diff) | |
download | android_art-622d9c31febd950255b36a48b47e1f630197c5fe.tar.gz android_art-622d9c31febd950255b36a48b47e1f630197c5fe.tar.bz2 android_art-622d9c31febd950255b36a48b47e1f630197c5fe.zip |
Add loop recognition and CFG simplifications in new compiler.
We do three simplifications:
- Split critical edges, for code generation from SSA (new).
- Ensure one back edge per loop, to simplify loop recognition (new).
- Ensure only one pre header for a loop, to simplify SSA creation (existing).
Change-Id: I9bfccd4b236a00486a261078627b091c8a68be33
Diffstat (limited to 'runtime/base/bit_vector.cc')
-rw-r--r-- | runtime/base/bit_vector.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/base/bit_vector.cc b/runtime/base/bit_vector.cc index 0e01dc2349..a3e2b15232 100644 --- a/runtime/base/bit_vector.cc +++ b/runtime/base/bit_vector.cc @@ -399,13 +399,13 @@ uint32_t BitVector::NumSetBits(const uint32_t* storage, uint32_t end) { return count; } -void BitVector::Dump(std::ostream& os, const char *prefix) { +void BitVector::Dump(std::ostream& os, const char *prefix) const { std::ostringstream buffer; DumpHelper(buffer, prefix); os << buffer.str() << std::endl; } -void BitVector::DumpDot(FILE* file, const char* prefix, bool last_entry) { +void BitVector::DumpDot(FILE* file, const char* prefix, bool last_entry) const { std::ostringstream buffer; Dump(buffer, prefix); @@ -421,7 +421,7 @@ void BitVector::DumpDot(FILE* file, const char* prefix, bool last_entry) { fprintf(file, "\\\n"); } -void BitVector::DumpHelper(std::ostringstream& buffer, const char* prefix) { +void BitVector::DumpHelper(std::ostringstream& buffer, const char* prefix) const { // Initialize it. if (prefix != nullptr) { buffer << prefix; |