diff options
Diffstat (limited to 'compiler/optimizing')
| -rw-r--r-- | compiler/optimizing/code_generator.cc | 21 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator.h | 2 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_arm64.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_arm_vixl.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_riscv64.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_x86.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/code_generator_x86_64.cc | 4 | ||||
| -rw-r--r-- | compiler/optimizing/dead_code_elimination.cc | 3 |
8 files changed, 2 insertions, 44 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 79386defae..e84cfcbe80 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -690,7 +690,6 @@ void CodeGenerator::GenerateUnresolvedFieldAccess( HInstruction* field_access, DataType::Type field_type, uint32_t field_index, - [[maybe_unused]] uint32_t dex_pc, const FieldAccessCallingConvention& calling_convention) { LocationSummary* locations = field_access->GetLocations(); @@ -1168,26 +1167,6 @@ void CodeGenerator::RecordPcInfo(HInstruction* instruction, // the regular case, we retrieve the dex_pc from the instruction's environment. DCHECK_IMPLIES(native_debug_info, GetCompilerOptions().GetNativeDebuggable()); DCHECK_IMPLIES(!native_debug_info, instruction->HasEnvironment()) << *instruction; - // The code generated for some type conversions - // may call the runtime, thus normally requiring a subsequent - // call to this method. However, the method verifier does not - // produce PC information for certain instructions, which are - // considered "atomic" (they cannot join a GC). - // Therefore we do not currently record PC information for such - // instructions. As this may change later, we added this special - // case so that code generators may nevertheless call - // CodeGenerator::RecordPcInfo without triggering an error in - // CodeGenerator::BuildNativeGCMap ("Missing ref for dex pc 0x") - // thereafter. - if (instruction->IsTypeConversion()) { - return; - } - if (instruction->IsRem()) { - DataType::Type type = instruction->AsRem()->GetResultType(); - if ((type == DataType::Type::kFloat32) || (type == DataType::Type::kFloat64)) { - return; - } - } LocationSummary* locations = instruction->GetLocations(); uint32_t register_mask = locations->GetRegisterMask(); diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h index 741d3fb589..3919bb0cc1 100644 --- a/compiler/optimizing/code_generator.h +++ b/compiler/optimizing/code_generator.h @@ -641,12 +641,10 @@ class CodeGenerator : public DeletableArenaObject<kArenaAllocCodeGenerator> { DataType::Type field_type, const FieldAccessCallingConvention& calling_convention); -// TODO(solanes): Remove dex_pc from this method void GenerateUnresolvedFieldAccess( HInstruction* field_access, DataType::Type field_type, uint32_t field_index, - [[maybe_unused]] uint32_t dex_pc, const FieldAccessCallingConvention& calling_convention); static void CreateLoadClassRuntimeCallLocationSummary(HLoadClass* cls, diff --git a/compiler/optimizing/code_generator_arm64.cc b/compiler/optimizing/code_generator_arm64.cc index b6fe630f64..58447919f6 100644 --- a/compiler/optimizing/code_generator_arm64.cc +++ b/compiler/optimizing/code_generator_arm64.cc @@ -6656,7 +6656,6 @@ void InstructionCodeGeneratorARM64::VisitUnresolvedInstanceFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6673,7 +6672,6 @@ void InstructionCodeGeneratorARM64::VisitUnresolvedInstanceFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6690,7 +6688,6 @@ void InstructionCodeGeneratorARM64::VisitUnresolvedStaticFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6707,7 +6704,6 @@ void InstructionCodeGeneratorARM64::VisitUnresolvedStaticFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc index 20e9d4e0ff..a7854ac886 100644 --- a/compiler/optimizing/code_generator_arm_vixl.cc +++ b/compiler/optimizing/code_generator_arm_vixl.cc @@ -6445,7 +6445,6 @@ void InstructionCodeGeneratorARMVIXL::VisitUnresolvedInstanceFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6462,7 +6461,6 @@ void InstructionCodeGeneratorARMVIXL::VisitUnresolvedInstanceFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6479,7 +6477,6 @@ void InstructionCodeGeneratorARMVIXL::VisitUnresolvedStaticFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6496,7 +6493,6 @@ void InstructionCodeGeneratorARMVIXL::VisitUnresolvedStaticFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } diff --git a/compiler/optimizing/code_generator_riscv64.cc b/compiler/optimizing/code_generator_riscv64.cc index cd34b90f98..ba2e307af5 100644 --- a/compiler/optimizing/code_generator_riscv64.cc +++ b/compiler/optimizing/code_generator_riscv64.cc @@ -5085,7 +5085,6 @@ void InstructionCodeGeneratorRISCV64::VisitUnresolvedInstanceFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5102,7 +5101,6 @@ void InstructionCodeGeneratorRISCV64::VisitUnresolvedInstanceFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5119,7 +5117,6 @@ void InstructionCodeGeneratorRISCV64::VisitUnresolvedStaticFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5136,7 +5133,6 @@ void InstructionCodeGeneratorRISCV64::VisitUnresolvedStaticFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } diff --git a/compiler/optimizing/code_generator_x86.cc b/compiler/optimizing/code_generator_x86.cc index 58d38feb8d..ae31e9f198 100644 --- a/compiler/optimizing/code_generator_x86.cc +++ b/compiler/optimizing/code_generator_x86.cc @@ -6397,7 +6397,6 @@ void InstructionCodeGeneratorX86::VisitUnresolvedInstanceFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6414,7 +6413,6 @@ void InstructionCodeGeneratorX86::VisitUnresolvedInstanceFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6431,7 +6429,6 @@ void InstructionCodeGeneratorX86::VisitUnresolvedStaticFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -6448,7 +6445,6 @@ void InstructionCodeGeneratorX86::VisitUnresolvedStaticFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } diff --git a/compiler/optimizing/code_generator_x86_64.cc b/compiler/optimizing/code_generator_x86_64.cc index 9133f87c7b..891bdd72e8 100644 --- a/compiler/optimizing/code_generator_x86_64.cc +++ b/compiler/optimizing/code_generator_x86_64.cc @@ -5709,7 +5709,6 @@ void InstructionCodeGeneratorX86_64::VisitUnresolvedInstanceFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5726,7 +5725,6 @@ void InstructionCodeGeneratorX86_64::VisitUnresolvedInstanceFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5743,7 +5741,6 @@ void InstructionCodeGeneratorX86_64::VisitUnresolvedStaticFieldGet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } @@ -5760,7 +5757,6 @@ void InstructionCodeGeneratorX86_64::VisitUnresolvedStaticFieldSet( codegen_->GenerateUnresolvedFieldAccess(instruction, instruction->GetFieldType(), instruction->GetFieldIndex(), - instruction->GetDexPc(), calling_convention); } diff --git a/compiler/optimizing/dead_code_elimination.cc b/compiler/optimizing/dead_code_elimination.cc index c5ec0b93b2..b8cd39e77f 100644 --- a/compiler/optimizing/dead_code_elimination.cc +++ b/compiler/optimizing/dead_code_elimination.cc @@ -488,7 +488,8 @@ void HDeadCodeElimination::MaybeAddPhi(HBasicBlock* block) { if (block_cond->GetLeft() != dominator_cond->GetLeft() || block_cond->GetRight() != dominator_cond->GetRight() || - block_cond->GetOppositeCondition() != dominator_cond->GetCondition()) { + block_cond->GetOppositeCondition() != dominator_cond->GetCondition() || + block_cond->GetBias() != dominator_cond->GetBias()) { return; } } |