/art/compiler/optimizing/ |
D | constant_folding.cc | 109 InstructionWithAbsorbingInputSimplifier simplifier(GetGraph()); in VisitBinaryOperation() 154 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 0)); in VisitEqual() 166 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 1)); in VisitNotEqual() 178 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 0)); in VisitAbove() 190 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 1)); in VisitAboveOrEqual() 202 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 0)); in VisitBelow() 214 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kBool, 1)); in VisitBelowOrEqual() 245 instruction->ReplaceWith(GetGraph()->GetConstant(type, 0)); in VisitAnd() 264 instruction->ReplaceWith(GetGraph()->GetConstant(DataType::Type::kInt32, in VisitCompare() 336 instruction->ReplaceWith(GetGraph()->GetConstant(type, 0)); in VisitRem() [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() 205 HDeoptimize* deoptimize = new (GetGraph()->GetAllocator()) HDeoptimize( in HoistGuard() 206 GetGraph()->GetAllocator(), compare, DeoptimizationKind::kCHA, suspend->GetDexPc()); in HoistGuard() 211 GetGraph()->IncrementNumberOfCHAGuards(); in HoistGuard() 241 GetGraph()->IncrementNumberOfCHAGuards(); in VisitShouldDeoptimizeFlag()
|
D | instruction_simplifier.cc | 161 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in Run() 214 HNeg* neg = new (GetGraph()->GetAllocator()) HNeg(binop->GetType(), binop); in TryMoveNegOnInputsAfterBinop() 253 hbin = new (GetGraph()->GetAllocator()) HOr(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 255 hbin = new (GetGraph()->GetAllocator()) HAnd(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 259 hnot = new (GetGraph()->GetAllocator()) HBooleanNot(hbin, dex_pc); in TryDeMorganNegationFactoring() 261 hnot = new (GetGraph()->GetAllocator()) HNot(type, hbin, dex_pc); in TryDeMorganNegationFactoring() 291 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 389 instruction->ReplaceInput(GetGraph()->GetIntConstant(masked_cst), /* index= */ 1); in VisitShift() 441 new (GetGraph()->GetAllocator()) HRor(ushr->GetType(), ushr->GetLeft(), ushr->GetRight()); in ReplaceRotateWithRor() 693 HGraph* graph = GetGraph(); in VisitInstanceOf() [all …]
|
D | load_store_elimination.cc | 609 << res << "blks: " << GetGraph()->GetBlocks().size() in PhiPlaceholderIndex() 645 DCHECK(GetGraph()->GetBlocks()[block_id] != nullptr) << block_id; in GetPhiPlaceholder() 727 !GetGraph()->HasIrreducibleLoops())) { in FindOrAddTypeConversionIfNecessary() 739 HTypeConversion* type_conversion = new (GetGraph()->GetAllocator()) HTypeConversion( in FindOrAddTypeConversionIfNecessary() 875 return GetGraph()->GetNullConstant(); in GetDefaultValue() 882 return GetGraph()->GetIntConstant(0); in GetDefaultValue() 884 return GetGraph()->GetLongConstant(0); in GetDefaultValue() 886 return GetGraph()->GetFloatConstant(0); in GetDefaultValue() 888 return GetGraph()->GetDoubleConstant(0); in GetDefaultValue() 1231 return perform_partial_lse_ && !GetGraph()->IsCompilingOsr(); in ShouldPerformPartialLSE() [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_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 | 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_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 | 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 | bounds_check_elimination.cc | 553 if (!GetGraph()->IsCompilingOsr()) { in VisitBasicBlock() 1381 HInstruction* upper = GetGraph()->GetIntConstant(max_c); in AddCompareWithDeoptimization() 1385 HInstruction* lower = new (GetGraph()->GetAllocator()) in AddCompareWithDeoptimization() 1386 HAdd(DataType::Type::kInt32, base, GetGraph()->GetIntConstant(min_c)); in AddCompareWithDeoptimization() 1387 upper = new (GetGraph()->GetAllocator()) HAdd(DataType::Type::kInt32, base, upper); in AddCompareWithDeoptimization() 1390 InsertDeoptInBlock(bounds_check, new (GetGraph()->GetAllocator()) HAbove(lower, upper)); in AddCompareWithDeoptimization() 1393 bounds_check, new (GetGraph()->GetAllocator()) HAboveOrEqual(upper, array_length)); in AddCompareWithDeoptimization() 1440 HBasicBlock* exit = GetGraph()->GetExitBlock(); in AddComparesWithDeoptimization() 1596 other_bounds_check, other_index, GetGraph(), block, &max_lower, &max_upper); in TransformLoopForDynamicBCE() 1599 other_bounds_check, other_index, GetGraph(), block, &min_lower, &min_upper); in TransformLoopForDynamicBCE() [all …]
|
D | instruction_simplifier_x86_shared.cc | 43 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryCombineAndNot() 79 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetAllocator(); in TryGenerateResetLeastSetBit() 112 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 | 82 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 171 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 244 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 282 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 302 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 340 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 376 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 435 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 494 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSub() 543 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecMul() [all …]
|
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 | 58 inline const HGraph* GetGraph() const { in GetGraph() function 180 return blk->GetGraph()->PathBetween(blk->GetBlockId(), entry); in SucceedsBlock() 193 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 | 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 | 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_arm64.cc | 284 DCHECK(IsSameDexFile(cls_->GetDexFile(), arm64_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 513 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 701 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1085 scratch = codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1098 if (codegen_->GetGraph()->HasSIMD()) { in FreeScratchLocation() 1128 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1130 Runtime::Current()->GetJit(), GetGraph()->GetArtMethod(), Thread::Current()); in MaybeIncrementHotness() 1231 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() 1360 if (GetGraph()->IsDebuggable()) { in SetupBlockedRegisters() 1509 if (GetGraph()->HasSIMD()) { in MoveLocation() [all …]
|
D | code_generator_x86_64.cc | 273 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_64_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 442 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 848 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1192 DCHECK(IsSameDexFile(GetGraph()->GetDexFile(), *invoke->GetMethodReference().dex_file)); in RecordMethodBssEntryPatch() 1371 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 1380 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1488 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1490 Runtime::Current()->GetJit(), GetGraph()->GetArtMethod(), Thread::Current()); in MaybeIncrementHotness() 1569 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() 1962 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(if_instr); in VisitIf() [all …]
|
D | nodes.cc | 993 HGraph* graph = header_->GetGraph(); in Populate() 1154 replacement->SetId(GetGraph()->GetNextInstructionId()); in ReplaceAndRemoveInstructionWith() 1170 instruction->SetId(block->GetGraph()->GetNextInstructionId()); in Add() 1191 instruction->SetId(GetGraph()->GetNextInstructionId()); in InsertInstructionBefore() 1205 instruction->SetId(GetGraph()->GetNextInstructionId()); in InsertInstructionAfter() 1215 phi->SetId(GetGraph()->GetNextInstructionId()); in InsertPhiAfter() 1320 HGraph* graph = (GetBlock() != nullptr) ? GetBlock()->GetGraph() : nullptr; in Dump() 1769 HGraph* graph = GetBlock()->GetGraph(); in TryStaticEvaluation() 2114 new (GetGraph()->GetAllocator()) HBasicBlock(GetGraph(), cursor->GetDexPc()); in SplitBefore() 2126 AddInstruction(new (GetGraph()->GetAllocator()) HGoto(new_block->GetDexPc())); in SplitBefore() [all …]
|
D | nodes.h | 1161 HGraph* GetGraph() const { return graph_; } in GetGraph() function 2240 ArenaAllocator* GetAllocator() const { return block_->GetGraph()->GetAllocator(); } in GetAllocator() 2353 ArenaAllocator* allocator = user->GetBlock()->GetGraph()->GetAllocator(); in AddUseAt() 2365 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2452 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2463 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 3954 return GetBlock()->GetGraph()->GetIntConstant(value, dex_pc); 4462 return GetBlock()->GetGraph()->GetIntConstant(value, dex_pc); 4895 DCHECK_EQ(InputAt(GetCurrentMethodIndex()), GetBlock()->GetGraph()->GetCurrentMethod()); 5199 return GetBlock()->GetGraph()->GetIntConstant(Compute(x->GetValue()), GetDexPc()); [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() 323 << " in " << codegen->GetGraph()->PrettyMethod(); in CanUseTypeCheckBitstring()
|
D | code_generator.cc | 392 GetGraph()->GetNumberOfVRegs(), in Compile() 393 GetGraph()->IsCompilingBaseline()); in Compile() 472 DCHECK(block_order[0] == GetGraph()->GetEntryBlock()); in InitializeCodeGeneration() 487 + (GetGraph()->HasShouldDeoptimizeFlag() ? kShouldDeoptimizeFlagSize : 0) in InitializeCodeGeneration() 495 ArenaAllocator* allocator = invoke->GetBlock()->GetGraph()->GetAllocator(); in CreateCommonInvokeLocationSummary() 653 ArenaAllocator* allocator = GetGraph()->GetAllocator(); in CreateStringBuilderAppendLocations() 711 ArenaAllocator* allocator = field_access->GetBlock()->GetGraph()->GetAllocator(); in CreateUnresolvedFieldLocationSummary() 832 LocationSummary* locations = new (cls->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadClassRuntimeCallLocationSummary() 859 new (method_handle->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadMethodHandleRuntimeCallLocationSummary() 879 new (method_type->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadMethodTypeRuntimeCallLocationSummary() [all …]
|
D | code_generator_x86.cc | 291 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 431 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 838 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1005 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 1014 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1119 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1121 Runtime::Current()->GetJit(), GetGraph()->GetArtMethod(), Thread::Current()); in MaybeIncrementHotness() 1201 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() 1614 HParallelMove move(GetGraph()->GetAllocator()); in MoveLocation() 1966 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(if_instr); in VisitIf() [all …]
|