/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 | 153 for (HBasicBlock* block : GetGraph()->GetReversePostOrder()) { in Run() 206 HNeg* neg = new (GetGraph()->GetAllocator()) HNeg(binop->GetType(), binop); in TryMoveNegOnInputsAfterBinop() 245 hbin = new (GetGraph()->GetAllocator()) HOr(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 247 hbin = new (GetGraph()->GetAllocator()) HAnd(type, src_left, src_right, dex_pc); in TryDeMorganNegationFactoring() 251 hnot = new (GetGraph()->GetAllocator()) HBooleanNot(hbin, dex_pc); in TryDeMorganNegationFactoring() 253 hnot = new (GetGraph()->GetAllocator()) HNot(type, hbin, dex_pc); in TryDeMorganNegationFactoring() 283 ArenaAllocator* allocator = mul->GetBlock()->GetGraph()->GetAllocator(); in TryCombineVecMultiplyAccumulate() 365 instruction->ReplaceInput(GetGraph()->GetIntConstant(masked_cst), /* index= */ 1); in VisitShift() 417 new (GetGraph()->GetAllocator()) HRor(ushr->GetType(), ushr->GetLeft(), ushr->GetRight()); in ReplaceRotateWithRor() 665 HGraph* graph = GetGraph(); in VisitInstanceOf() [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 | 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 | 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()
|
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 | sharpening.cc | 86 if (callee == codegen->GetGraph()->GetArtMethod() && !codegen->GetGraph()->IsDebuggable()) { in SharpenInvokeStaticOrDirect() 108 codegen->GetGraph()->IsCompilingForSharedJitCode())) { in SharpenInvokeStaticOrDirect() 127 if (codegen->GetGraph()->IsDebuggable()) { in SharpenInvokeStaticOrDirect() 194 codegen->GetGraph()->IsCompilingForSharedJitCode())) { in ComputeLoadClassKind() 267 << " in " << codegen->GetGraph()->PrettyMethod(); in CanUseTypeCheckBitstring() 366 codegen->GetGraph()->IsCompilingForSharedJitCode())) { in ProcessLoadString()
|
D | bounds_check_elimination.cc | 553 if (!GetGraph()->IsCompilingOsr()) { in VisitBasicBlock() 1280 HInstruction* upper = GetGraph()->GetIntConstant(max_c); in AddCompareWithDeoptimization() 1284 HInstruction* lower = new (GetGraph()->GetAllocator()) in AddCompareWithDeoptimization() 1285 HAdd(DataType::Type::kInt32, base, GetGraph()->GetIntConstant(min_c)); in AddCompareWithDeoptimization() 1286 upper = new (GetGraph()->GetAllocator()) HAdd(DataType::Type::kInt32, base, upper); in AddCompareWithDeoptimization() 1289 InsertDeoptInBlock(bounds_check, new (GetGraph()->GetAllocator()) HAbove(lower, upper)); in AddCompareWithDeoptimization() 1292 bounds_check, new (GetGraph()->GetAllocator()) HAboveOrEqual(upper, array_length)); in AddCompareWithDeoptimization() 1339 HBasicBlock* exit = GetGraph()->GetExitBlock(); in AddComparesWithDeoptimization() 1495 other_bounds_check, other_index, GetGraph(), block, &max_lower, &max_upper); in TransformLoopForDynamicBCE() 1498 other_bounds_check, other_index, GetGraph(), block, &min_lower, &min_upper); in TransformLoopForDynamicBCE() [all …]
|
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.cc | 51 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() 144 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() 219 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecReduce() 259 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecCnv() 277 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNeg() 318 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAbs() 357 CreateVecUnOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecNot() 408 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecAdd() 450 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecSaturationAdd() 482 CreateVecBinOpLocations(GetGraph()->GetAllocator(), instruction); in VisitVecHalvingAdd() [all …]
|
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_elimination.cc | 127 type_conversion = new (GetGraph()->GetAllocator()) HTypeConversion( in AddTypeConversionIfNecessary() 182 !GetGraph()->HasIrreducibleLoops())) { in TryToReuseTypeConversion() 495 << "method: " << GetGraph()->GetMethodName(); in MergePredecessorValues() 539 return GetGraph()->GetNullConstant(); in GetDefaultValue() 546 return GetGraph()->GetIntConstant(0); in GetDefaultValue() 548 return GetGraph()->GetLongConstant(0); in GetDefaultValue() 550 return GetGraph()->GetFloatConstant(0); in GetDefaultValue() 552 return GetGraph()->GetDoubleConstant(0); in GetDefaultValue()
|
D | code_generator_arm64.cc | 179 unsigned v_reg_size = codegen->GetGraph()->HasSIMD() ? kQRegSize : kDRegSize; in SaveRestoreLiveRegistersHelper() 227 const size_t fp_reg_size = codegen->GetGraph()->HasSIMD() ? kQRegSizeInBytes : kDRegSizeInBytes; in SaveLiveRegisters() 325 DCHECK(IsSameDexFile(cls_->GetDexFile(), arm64_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 549 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 726 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1041 scratch = LocationFrom(codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1054 vixl_temps_.Release(codegen_->GetGraph()->HasSIMD() ? QRegisterFrom(loc) : DRegisterFrom(loc)); in FreeScratchLocation() 1080 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1082 ProfilingInfo* info = GetGraph()->GetArtMethod()->GetProfilingInfo(kRuntimePointerSize); in MaybeIncrementHotness() 1182 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() [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 | nodes.h | 1075 HGraph* GetGraph() const { return graph_; } in GetGraph() function 2073 ArenaAllocator* GetAllocator() const { return block_->GetGraph()->GetAllocator(); } in GetAllocator() 2183 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HInstruction*>(user, index); in AddUseAt() 2193 new (GetBlock()->GetGraph()->GetAllocator()) HUseListNode<HEnvironment*>(user, index); in AddEnvUseAt() 2276 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFrom() 2287 ArenaAllocator* allocator = GetBlock()->GetGraph()->GetAllocator(); in CopyEnvironmentFromWithLoopPhiAdjustment() 3708 return GetBlock()->GetGraph()->GetIntConstant(value, dex_pc); in MakeConstantCondition() 4218 return GetBlock()->GetGraph()->GetIntConstant(value, dex_pc); in MakeConstantComparison() 4607 DCHECK_EQ(InputAt(GetSpecialInputIndex()), GetBlock()->GetGraph()->GetCurrentMethod()); in SetDispatchInfo() 4883 return GetBlock()->GetGraph()->GetIntConstant(Compute(x->GetValue()), GetDexPc()); in Evaluate() [all …]
|
D | nodes.cc | 820 HGraph* graph = header_->GetGraph(); in Populate() 981 replacement->SetId(GetGraph()->GetNextInstructionId()); in ReplaceAndRemoveInstructionWith() 997 instruction->SetId(block->GetGraph()->GetNextInstructionId()); in Add() 1018 instruction->SetId(GetGraph()->GetNextInstructionId()); in InsertInstructionBefore() 1032 instruction->SetId(GetGraph()->GetNextInstructionId()); in InsertInstructionAfter() 1042 phi->SetId(GetGraph()->GetNextInstructionId()); in InsertPhiAfter() 1550 HGraph* graph = GetBlock()->GetGraph(); in TryStaticEvaluation() 1842 new (GetGraph()->GetAllocator()) HBasicBlock(GetGraph(), cursor->GetDexPc()); in SplitBefore() 1854 AddInstruction(new (GetGraph()->GetAllocator()) HGoto(new_block->GetDexPc())); in SplitBefore() 1863 GetGraph()->AddBlock(new_block); in SplitBefore() [all …]
|
D | code_generator_x86.cc | 288 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 423 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 820 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 987 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 996 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1096 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1098 ProfilingInfo* info = GetGraph()->GetArtMethod()->GetProfilingInfo(kRuntimePointerSize); in MaybeIncrementHotness() 1178 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() 1420 HParallelMove move(GetGraph()->GetAllocator()); in MoveLocation() 1772 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(if_instr); in VisitIf() [all …]
|
D | code_generator_x86_64.cc | 270 DCHECK(IsSameDexFile(cls_->GetDexFile(), x86_64_codegen->GetGraph()->GetDexFile())); in EmitNativeCode() 434 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 838 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in EmitNativeCode() 1101 method_bss_entry_patches_.emplace_back(&GetGraph()->GetDexFile(), invoke->GetDexMethodIndex()); in RecordMethodBssEntryPatch() 1252 if (GetGraph()->HasSIMD()) { in SaveFloatingPointRegister() 1261 if (GetGraph()->HasSIMD()) { in RestoreFloatingPointRegister() 1366 if (GetGraph()->IsCompilingBaseline() && !Runtime::Current()->IsAotCompiler()) { in MaybeIncrementHotness() 1368 ProfilingInfo* info = GetGraph()->GetArtMethod()->GetProfilingInfo(kRuntimePointerSize); in MaybeIncrementHotness() 1445 if (GetGraph()->HasShouldDeoptimizeFlag()) { in GenerateFrameEntry() 1839 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(if_instr); in VisitIf() [all …]
|
D | code_generator.cc | 390 GetGraph()->GetNumberOfVRegs(), in Compile() 391 GetGraph()->IsCompilingBaseline()); in Compile() 470 DCHECK(block_order[0] == GetGraph()->GetEntryBlock()); in InitializeCodeGeneration() 485 + (GetGraph()->HasShouldDeoptimizeFlag() ? kShouldDeoptimizeFlagSize : 0) in InitializeCodeGeneration() 493 ArenaAllocator* allocator = invoke->GetBlock()->GetGraph()->GetAllocator(); in CreateCommonInvokeLocationSummary() 598 ArenaAllocator* allocator = GetGraph()->GetAllocator(); in CreateStringBuilderAppendLocations() 656 ArenaAllocator* allocator = field_access->GetBlock()->GetGraph()->GetAllocator(); in CreateUnresolvedFieldLocationSummary() 777 LocationSummary* locations = new (cls->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadClassRuntimeCallLocationSummary() 804 new (method_handle->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadMethodHandleRuntimeCallLocationSummary() 824 new (method_type->GetBlock()->GetGraph()->GetAllocator()) LocationSummary( in CreateLoadMethodTypeRuntimeCallLocationSummary() [all …]
|
D | nodes_shared.h | 101 return GetBlock()->GetGraph()->GetIntConstant( in Evaluate() 105 return GetBlock()->GetGraph()->GetLongConstant( in Evaluate()
|
D | graph_checker.cc | 63 size_t current_size = GetGraph()->GetReversePostOrder().size(); in Run() 89 ScopedArenaAllocator allocator(GetGraph()->GetArenaStack()); in VisitBasicBlock() 141 if (GetGraph()->IsInSsaForm() && !block->EndsWithControlFlowInstruction()) { in VisitBasicBlock() 293 if (!GetGraph()->HasBoundsChecks()) { in VisitBoundsCheck() 305 if (GetGraph()->IsCompilingOsr()) { in VisitDeoptimize() 757 HBasicBlock* loop_block = GetGraph()->GetBlocks()[i]; in HandleLoop() 929 ScopedArenaAllocator allocator(GetGraph()->GetArenaStack()); in VisitPhi() 933 GetGraph()->GetCurrentInstructionId(), in VisitPhi()
|
D | instruction_simplifier_arm64.cc | 109 left = GetGraph()->GetConstant(right->GetType(), 0); in TryMergeIntoShifterOperand() 142 new (GetGraph()->GetAllocator()) HDataProcWithShifterOp(use, in TryMergeIntoShifterOperand()
|