/art/compiler/optimizing/ |
D | constant_folding.cc | 127 InstructionWithAbsorbingInputSimplifier simplifier(GetGraph()); in VisitBinaryOperation() 190 PropagateValue(inst->IfTrueSuccessor(), if_input, GetGraph()->GetIntConstant(1)); in VisitIf() 191 PropagateValue(inst->IfFalseSuccessor(), if_input, GetGraph()->GetIntConstant(0)); in VisitIf() 277 GetGraph()->GetIntConstant(0) : in VisitIf() 278 GetGraph()->GetIntConstant(1); in VisitIf() 291 inst->ReplaceWith(GetGraph()->GetIntConstant(dex_file.GetStringLength(string_id))); in VisitArrayLength() 326 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 1)); in VisitEqual() 334 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 0)); in VisitEqual() 347 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 0)); in VisitNotEqual() 355 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 1)); in VisitNotEqual() [all …]
|
D | cha_guard_optimization.cc | 37 block_has_cha_guard_(GetGraph()->GetBlocks().size(), in CHAGuardVisitor() 41 number_of_guards_to_visit_ = GetGraph()->GetNumberOfCHAGuards(); in CHAGuardVisitor() 44 GetGraph()->SetNumberOfCHAGuards(0); in CHAGuardVisitor() 206 HDeoptimize* deoptimize = new (GetGraph()->GetAllocator()) HDeoptimize( in HoistGuard() 207 GetGraph()->GetAllocator(), compare, DeoptimizationKind::kCHA, suspend->GetDexPc()); in HoistGuard() 212 GetGraph()->IncrementNumberOfCHAGuards(); in HoistGuard() 242 GetGraph()->IncrementNumberOfCHAGuards(); in VisitShouldDeoptimizeFlag()
|
D | graph_checker.cc | 64 size_t current_size = GetGraph()->GetReversePostOrder().size(); in Run() 88 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in VisitReversePostOrder() 105 if (GetGraph()->HasMonitorOperations() != flag_info_.seen_monitor_operation) { in CheckGraphFlags() 109 StrBool(GetGraph()->HasMonitorOperations()), in CheckGraphFlags() 113 if (GetGraph()->HasTryCatch() != flag_info_.seen_try_boundary) { in CheckGraphFlags() 117 StrBool(GetGraph()->HasTryCatch()), in CheckGraphFlags() 121 if (GetGraph()->HasLoops() != flag_info_.seen_loop) { in CheckGraphFlags() 125 StrBool(GetGraph()->HasLoops()), in CheckGraphFlags() 129 if (GetGraph()->HasIrreducibleLoops() && !GetGraph()->HasLoops()) { in CheckGraphFlags() 131 StrBool(GetGraph()->HasIrreducibleLoops()), in CheckGraphFlags() [all …]
|
D | pc_relative_fixups_x86.cc | 132 HGraph* graph = GetGraph(); in VisitNeg() 151 HGraph* graph = GetGraph(); in VisitPackedSwitch() 163 bool has_irreducible_loops = GetGraph()->HasIrreducibleLoops(); in GetPCRelativeBasePointer() 173 new (GetGraph()->GetAllocator()) HX86ComputeBaseMethodAddress(); in GetPCRelativeBasePointer() 177 HBasicBlock* entry_block = GetGraph()->GetEntryBlock(); in GetPCRelativeBasePointer() 187 new (GetGraph()->GetAllocator()) HX86LoadFromConstantTable(method_address, value); in ReplaceInput()
|
D | instruction_simplifier.cc | 165 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in Run() 218 HNeg* neg = new (GetGraph()->GetAllocator()) HNeg(binop->GetType(), binop); in TryMoveNegOnInputsAfterBinop() 257 hbin = new (GetGraph()->GetAllocator()) HOr(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 259 hbin = new (GetGraph()->GetAllocator()) HAnd(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 263 hnot = new (GetGraph()->GetAllocator()) HBooleanNot(hbin, dex_pc); in TryDeMorganNegationFactoring() 265 hnot = new (GetGraph()->GetAllocator()) HNot(type, hbin, dex_pc); in TryDeMorganNegationFactoring() 295 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 393 instruction->ReplaceInput(GetGraph()->GetIntConstant(masked_cst), /* index= */ 1); in VisitShift() 445 new (GetGraph()->GetAllocator()) HRor(ushr->GetType(), ushr->GetLeft(), ushr->GetRight()); in ReplaceRotateWithRor() 697 HGraph* graph = GetGraph(); in VisitInstanceOf() [all …]
|
D | instruction_simplifier_shared.cc | 78 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TrySimpleMultiplyAccumulatePatterns() 108 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineMultiplyAccumulate() 155 mul->GetBlock()->GetGraph()->GetConstant(type, 0), in TryCombineMultiplyAccumulate() 219 HBitwiseNegatedRight* neg_op = new (hnot->GetBlock()->GetGraph()->GetAllocator()) in TryMergeNegatedInput() 257 HGraph* graph = access->GetBlock()->GetGraph(); in TryExtractArrayAccessAddress() 291 HGraph* graph = access->GetBlock()->GetGraph(); in TryExtractVecArrayAccessAddress() 342 ArenaAllocator* allocator = basic_block->GetGraph()->GetAllocator(); in TryReplaceSubSubWithSubAdd()
|
D | load_store_elimination.cc | 609 << res << "blks: " << GetGraph()->GetBlocks().size() in PhiPlaceholderIndex() 650 DCHECK(GetGraph()->GetBlocks()[block_id] != nullptr) << block_id; in GetPhiPlaceholder() 732 !GetGraph()->HasIrreducibleLoops())) { in FindOrAddTypeConversionIfNecessary() 744 HTypeConversion* type_conversion = new (GetGraph()->GetAllocator()) HTypeConversion( in FindOrAddTypeConversionIfNecessary() 861 return GetGraph()->GetNullConstant(); in GetDefaultValue() 868 return GetGraph()->GetIntConstant(0); in GetDefaultValue() 870 return GetGraph()->GetLongConstant(0); in GetDefaultValue() 872 return GetGraph()->GetFloatConstant(0); in GetDefaultValue() 874 return GetGraph()->GetDoubleConstant(0); in GetDefaultValue() 1365 return perform_partial_lse_ && !GetGraph()->IsCompilingOsr(); in ShouldPerformPartialLSE() [all …]
|
D | code_generator_vector_arm_vixl.cc | 37 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 80 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 131 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 160 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 168 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 197 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 224 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 271 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 301 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSaturationAdd() 333 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecHalvingAdd() [all …]
|
D | code_generator_vector_x86.cc | 29 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 121 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 206 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 258 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 276 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 323 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 364 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 459 CreateVecTerOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 461 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 506 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSaturationAdd() [all …]
|
D | code_generator_vector_x86_64.cc | 29 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 112 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 189 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 241 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 259 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 306 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 347 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 442 CreateVecTerOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 444 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 489 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSaturationAdd() [all …]
|
D | bounds_check_elimination.cc | 553 if (!GetGraph()->IsCompilingOsr()) { in VisitBasicBlock() 570 GetGraph()->SetHasBoundsChecks(false); in Finish() 571 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in Finish() 575 GetGraph()->SetHasBoundsChecks(true); in Finish() 1394 HInstruction* upper = GetGraph()->GetIntConstant(max_c); in AddCompareWithDeoptimization() 1398 HInstruction* lower = new (GetGraph()->GetAllocator()) in AddCompareWithDeoptimization() 1399 HAdd(DataType::Type::kInt32, base, GetGraph()->GetIntConstant(min_c)); in AddCompareWithDeoptimization() 1400 upper = new (GetGraph()->GetAllocator()) HAdd(DataType::Type::kInt32, base, upper); in AddCompareWithDeoptimization() 1403 InsertDeoptInBlock(bounds_check, new (GetGraph()->GetAllocator()) HAbove(lower, upper)); in AddCompareWithDeoptimization() 1406 bounds_check, new (GetGraph()->GetAllocator()) HAboveOrEqual(upper, array_length)); in AddCompareWithDeoptimization() [all …]
|
D | instruction_simplifier_x86_shared.cc | 44 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryCombineAndNot() 80 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateResetLeastSetBit() 113 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateMaskUptoLeastSetBit()
|
D | nodes_x86.h | 145 return GetBlock()->GetGraph()->GetIntConstant( in Evaluate() 149 return GetBlock()->GetGraph()->GetLongConstant( in Evaluate() 194 return GetBlock()->GetGraph()->GetIntConstant(Compute(x->GetValue()), GetDexPc()); in Evaluate() 197 return GetBlock()->GetGraph()->GetLongConstant(Compute(x->GetValue()), GetDexPc()); in Evaluate()
|
D | code_generator_vector_arm64_sve.cc | 79 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 168 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 241 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 279 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 299 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 337 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 373 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 432 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 491 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSub() 540 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecMul() [all …]
|
D | critical_native_abi_fixup_arm.cc | 66 ArenaAllocator* allocator = block->GetGraph()->GetAllocator(); in FixUpArguments() 78 !block->GetGraph()->IsDebuggable()); in FixUpArguments()
|
D | code_generator_vector_arm64_neon.cc | 80 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 173 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 248 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 288 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 306 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 347 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 386 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 437 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 479 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSaturationAdd() 511 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecHalvingAdd() [all …]
|
D | execution_subgraph.h | 59 inline const HGraph* GetGraph() const { in GetGraph() function 181 return blk->GetGraph()->PathBetween(blk->GetBlockId(), entry); in SucceedsBlock() 194 return blk->GetGraph()->PathBetween(exit, blk->GetBlockId()); in PrecedesBlock()
|
D | prepare_for_register_allocation.cc | 29 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in Run() 87 if (GetGraph()->GetArtMethod() != char_at_method) { in VisitBoundsCheck() 88 ArenaAllocator* allocator = GetGraph()->GetAllocator(); in VisitBoundsCheck()
|
D | code_generator_arm64.cc | 284 DCHECK(IsSameDexFile(cls_->GetDexFile(), arm64_codegen->GetGraph()->GetDexFile()) || in EmitNativeCode() 516 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 695 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1158 scratch = codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1171 if (codegen_->GetGraph()->HasSIMD()) { in FreeScratchLocation() 1186 LocationSummary* locations = new (GetGraph()->GetAllocator()) in VisitMethodExitHook() 1223 DCHECK(codegen_->GetCompilerOptions().IsJitCompiler() && GetGraph()->IsDebuggable()); in VisitMethodExitHook() 1229 new (GetGraph()->GetAllocator()) LocationSummary(method_hook, LocationSummary::kCallOnSlowPath); in VisitMethodEntryHook() 1233 DCHECK(codegen_->GetCompilerOptions().IsJitCompiler() && GetGraph()->IsDebuggable()); in VisitMethodEntryHook() 1256 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() [all …]
|
D | load_store_analysis.cc | 102 HGraph* graph = reference_->GetBlock()->GetGraph(); in PrunePartialEscapeWrites() 115 return reference_->GetBlock()->GetGraph()->PathBetween(excluded, in PrunePartialEscapeWrites() 187 std::vector<bool> seen_instructions(GetGraph()->GetCurrentInstructionId(), false); in DumpReferenceStats()
|
D | code_generator_x86_64.cc | 291 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_64_codegen->GetGraph()->GetDexFile()) || in EmitNativeCode() 463 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 870 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1151 DCHECK(!GetGraph()->HasShouldDeoptimizeFlag()); in GenerateStaticOrDirectCall() 1264 DCHECK(IsSameDexFile(GetGraph()->GetDexFile(), *invoke->GetMethodReference().dex_file) || in RecordMethodBssEntryPatch() 1458 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 1467 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1588 new (GetGraph()->GetAllocator()) LocationSummary(method_hook, LocationSummary::kCallOnSlowPath); in VisitMethodEntryHook() 1618 DCHECK(codegen_->GetCompilerOptions().IsJitCompiler() && GetGraph()->IsDebuggable()); in VisitMethodEntryHook() 1651 LocationSummary* locations = new (GetGraph()->GetAllocator()) in VisitMethodExitHook() [all …]
|
D | register_allocation_resolver.cc | 28 : allocator_(codegen->GetGraph()->GetAllocator()), in RegisterAllocationResolver() 54 codegen_->GetGraph()->GetLinearOrder()); in Resolve() 152 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in Resolve() 182 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in Resolve() 413 return instruction->GetBlock()->GetGraph()->HasIrreducibleLoops() && in IsMaterializableEntryBlockInstructionOfGraphWithIrreducibleLoop() 438 if (codegen_->GetGraph()->HasIrreducibleLoops() && in ConnectSplitSiblings() 462 if (codegen_->GetGraph()->HasIrreducibleLoops() && in ConnectSplitSiblings()
|
D | code_generator.cc | 395 GetGraph()->GetNumberOfVRegs(), in Compile() 396 GetGraph()->IsCompilingBaseline(), in Compile() 397 GetGraph()->IsDebuggable()); in Compile() 482 DCHECK(block_order[0] == GetGraph()->GetEntryBlock()); in InitializeCodeGeneration() 497 + (GetGraph()->HasShouldDeoptimizeFlag() ? kShouldDeoptimizeFlagSize : 0) in InitializeCodeGeneration() 505 ArenaAllocator* allocator = invoke->GetBlock()->GetGraph()->GetAllocator(); in CreateCommonInvokeLocationSummary() 663 ArenaAllocator* allocator = GetGraph()->GetAllocator(); in CreateStringBuilderAppendLocations() 721 ArenaAllocator* allocator = field_access->GetBlock()->GetGraph()->GetAllocator(); in CreateUnresolvedFieldLocationSummary() 842 LocationSummary* locations = new (cls->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadClassRuntimeCallLocationSummary() 869 new (method_handle->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadMethodHandleRuntimeCallLocationSummary() [all …]
|
D | code_generator_x86.cc | 313 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_codegen->GetGraph()->GetDexFile()) || in EmitNativeCode() 456 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 856 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1070 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 1079 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1221 LocationSummary* locations = new (GetGraph()->GetAllocator()) in VisitMethodExitHook() 1251 DCHECK(codegen_->GetCompilerOptions().IsJitCompiler() && GetGraph()->IsDebuggable()); in VisitMethodExitHook() 1257 new (GetGraph()->GetAllocator()) LocationSummary(method_hook, LocationSummary::kCallOnSlowPath); in VisitMethodEntryHook() 1261 DCHECK(codegen_->GetCompilerOptions().IsJitCompiler() && GetGraph()->IsDebuggable()); in VisitMethodEntryHook() 1288 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() [all …]
|
D | sharpening.cc | 89 if (callee == codegen->GetGraph()->GetArtMethod() && in SharpenLoadMethod() 90 !codegen->GetGraph()->IsDebuggable() && in SharpenLoadMethod() 149 if (codegen->GetGraph()->IsDebuggable()) { in SharpenLoadMethod() 342 << " in " << codegen->GetGraph()->PrettyMethod(); in CanUseTypeCheckBitstring()
|