diff options
author | Roland Levillain <rpl@google.com> | 2015-06-26 16:12:18 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2015-06-26 16:16:42 +0100 |
commit | a1935c4fa255b5c20f5e9b2abce6be2d0f7cb0a8 (patch) | |
tree | 43b2b35a3896af8b8ad4e0f72641cae80368f005 /compiler/optimizing/nodes.h | |
parent | 5597b422882a5ab9dc5eaaedd644e30bc2fd7c05 (diff) | |
download | art-a1935c4fa255b5c20f5e9b2abce6be2d0f7cb0a8.tar.gz art-a1935c4fa255b5c20f5e9b2abce6be2d0f7cb0a8.tar.bz2 art-a1935c4fa255b5c20f5e9b2abce6be2d0f7cb0a8.zip |
MIPS: Initial version of optimizing compiler for MIPS64R6.
(cherry picked from commit 4dda3376b71209fae07f5c3c8ac3eb4b54207aa8)
(amended for mnc-dev)
Bug: 21555893
Change-Id: I874dc356eee6ab061a32f8f3df5f8ac3a4ab7dcf
Signed-off-by: Alexey Frunze <Alexey.Frunze@imgtec.com>
Signed-off-by: Douglas Leung <douglas.leung@imgtec.com>
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index b36d9b8d2..01ba1101f 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -2109,8 +2109,12 @@ class HCompare : public HBinaryOperation { kLtBias, // return -1 for NaN comparisons }; - HCompare(Primitive::Type type, HInstruction* first, HInstruction* second, Bias bias) - : HBinaryOperation(Primitive::kPrimInt, first, second), bias_(bias) { + HCompare(Primitive::Type type, + HInstruction* first, + HInstruction* second, + Bias bias, + uint32_t dex_pc) + : HBinaryOperation(Primitive::kPrimInt, first, second), bias_(bias), dex_pc_(dex_pc) { DCHECK_EQ(type, first->GetType()); DCHECK_EQ(type, second->GetType()); } @@ -2135,10 +2139,13 @@ class HCompare : public HBinaryOperation { bool IsGtBias() { return bias_ == kGtBias; } + uint32_t GetDexPc() const { return dex_pc_; } + DECLARE_INSTRUCTION(Compare); private: const Bias bias_; + const uint32_t dex_pc_; DISALLOW_COPY_AND_ASSIGN(HCompare); }; @@ -3862,6 +3869,8 @@ class MoveOperands : public ArenaObject<kArenaAllocMisc> { return source_.IsInvalid(); } + Primitive::Type GetType() const { return type_; } + bool Is64BitMove() const { return Primitive::Is64BitType(type_); } |