summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-05-30 10:31:19 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-05-30 10:31:21 +0000
commitcce39b5b4fc00ab9e6b4aaed1e7fa6928f0ec594 (patch)
tree19e3a8ccf7a8ac831c27658e0470c4f83debef74 /compiler/optimizing
parent0a5ace58e973da278049f837bf2cdbaf7b44849c (diff)
parent6079dca3058e58bb9e12a60a10324a5218a99274 (diff)
Merge "MIPS32R2: Fix MethodLoadKind::kBootImageLinkTimePcRelative"
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/code_generator_mips.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc
index d8ac99a9a6..1978534112 100644
--- a/compiler/optimizing/code_generator_mips.cc
+++ b/compiler/optimizing/code_generator_mips.cc
@@ -1674,6 +1674,7 @@ Literal* CodeGeneratorMIPS::DeduplicateBootImageAddressLiteral(uint32_t address)
void CodeGeneratorMIPS::EmitPcRelativeAddressPlaceholderHigh(PcRelativePatchInfo* info,
Register out,
Register base) {
+ DCHECK_NE(out, base);
if (GetInstructionSetFeatures().IsR6()) {
DCHECK_EQ(base, ZERO);
__ Bind(&info->high_label);
@@ -7139,8 +7140,8 @@ void CodeGeneratorMIPS::GenerateStaticOrDirectCall(HInvokeStaticOrDirect* invoke
PcRelativePatchInfo* info = NewPcRelativeMethodPatch(invoke->GetTargetMethod());
bool reordering = __ SetReorder(false);
Register temp_reg = temp.AsRegister<Register>();
- EmitPcRelativeAddressPlaceholderHigh(info, temp_reg, base_reg);
- __ Addiu(temp_reg, temp_reg, /* placeholder */ 0x5678);
+ EmitPcRelativeAddressPlaceholderHigh(info, TMP, base_reg);
+ __ Addiu(temp_reg, TMP, /* placeholder */ 0x5678);
__ SetReorder(reordering);
break;
}