diff options
author | Vladimir Marko <vmarko@google.com> | 2014-10-22 15:22:43 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-10-22 15:22:43 +0000 |
commit | b08f4dcf90215ed49e0b796ab3e609bd605be8ba (patch) | |
tree | 1af9f0e4af680137992a6bc9aabb7b9965d9613e /compiler | |
parent | 98c171127c55cfd339458d96a2d3b7b8912474c1 (diff) | |
parent | a65c1dbb8d3511da6c0804f8063c453f744629c2 (diff) | |
download | art-b08f4dcf90215ed49e0b796ab3e609bd605be8ba.zip art-b08f4dcf90215ed49e0b796ab3e609bd605be8ba.tar.gz art-b08f4dcf90215ed49e0b796ab3e609bd605be8ba.tar.bz2 |
Merge "X86 Long Min/Max: Avoid calling SRegToVReg with -1"
Diffstat (limited to 'compiler')
-rwxr-xr-x | compiler/dex/quick/x86/int_x86.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/dex/quick/x86/int_x86.cc b/compiler/dex/quick/x86/int_x86.cc index 07034cb..acf5599 100755 --- a/compiler/dex/quick/x86/int_x86.cc +++ b/compiler/dex/quick/x86/int_x86.cc @@ -858,6 +858,11 @@ bool X86Mir2Lir::GenInlinedMinMax(CallInfo* info, bool is_min, bool is_long) { RegLocation rl_dest = InlineTargetWide(info); int res_vreg, src1_vreg, src2_vreg; + if (rl_dest.s_reg_low == INVALID_SREG) { + // Result is unused, the code is dead. Inlining successful, no code generated. + return true; + } + /* * If the result register is the same as the second element, then we * need to be careful. The reason is that the first copy will |