/art/compiler/optimizing/ |
D | nodes_x86.h | 72 HInstruction* input, in HX86FPNeg() 96 HInstruction* input, in HX86PackedSwitch() 134 HInstruction* left, 135 HInstruction* right, 172 HInstruction* input, uint32_t dex_pc = kNoDexPc) 176 DCHECK(op == HInstruction::kAnd || op == HInstruction::kXor) << op; in HUnaryOperation() 183 case HInstruction::kAnd: 185 case HInstruction::kXor:
|
D | ssa_builder.h | 68 HInstruction* GetFloatOrDoubleEquivalent(HInstruction* instruction, DataType::Type type); 69 HInstruction* GetReferenceTypeEquivalent(HInstruction* instruction); 124 bool HasAliasInEnvironments(HInstruction* instruction);
|
D | ssa_liveness_analysis.cc | 52 HInstruction* current = inst_it.Current(); in NumberInstructions() 70 HInstruction* current = inst_it.Current(); in NumberInstructions() 106 void SsaLivenessAnalysis::RecursivelyProcessInputs(HInstruction* current, in RecursivelyProcessInputs() 107 HInstruction* actual_user, in RecursivelyProcessInputs() 111 HInstruction* input = inputs[i]; in RecursivelyProcessInputs() 140 void SsaLivenessAnalysis::ProcessEnvironment(HInstruction* current, in ProcessEnvironment() 141 HInstruction* actual_user, in ProcessEnvironment() 149 HInstruction* instruction = environment->GetInstructionAt(i); in ProcessEnvironment() 191 HInstruction* phi = phi_it.Current(); in ComputeLiveRanges() 192 HInstruction* input = phi->InputAt(phi_input_index); in ComputeLiveRanges() [all …]
|
D | superblock_cloner.cc | 42 static bool IsUsedOutsideRegion(const HInstruction* instr, const HBasicBlockSet& bb_set) { in IsUsedOutsideRegion() 45 HInstruction* user = use_node->GetUser(); in IsUsedOutsideRegion() 53 HInstruction* user = use_node->GetUser()->GetHolder(); in IsUsedOutsideRegion() 64 HInstruction* first_input = phi->InputAt(0); in ArePhiInputsTheSame() 116 void SuperblockCloner::ReplaceInputsWithCopies(HInstruction* copy_instr) { in ReplaceInputsWithCopies() 120 HInstruction* orig_input = copy_instr->InputAt(i); in ReplaceInputsWithCopies() 125 HInstruction* copy_input = GetInstrCopy(orig_input); in ReplaceInputsWithCopies() 132 void SuperblockCloner::DeepCloneEnvironmentWithRemapping(HInstruction* copy_instr, in DeepCloneEnvironmentWithRemapping() 140 HInstruction* env_input = orig_env->GetInstructionAt(i); in DeepCloneEnvironmentWithRemapping() 180 HInstruction* orig_phi_input = orig_phi->InputAt(this_index); in RemapOrigInternalOrIncomingEdge() [all …]
|
D | instruction_simplifier_x86_shared.h | 25 bool AreLeastSetBitInputs(HInstruction* to_test, HInstruction* other);
|
D | pretty_printer.h | 30 void PrintPreInstruction(HInstruction* instruction) { in PrintPreInstruction() 36 void VisitInstruction(HInstruction* instruction) override { in VisitInstruction() 42 void PrintPostInstruction(HInstruction* instruction) { in PrintPostInstruction() 47 for (const HInstruction* input : inputs) { in PrintPostInstruction() 60 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in PrintPostInstruction()
|
D | select_generator.cc | 43 HInstruction* instruction = it.Current(); in IsSimpleBlock() 97 ScopedArenaSafeMap<HInstruction*, HSelect*> cache( in Run() 98 std::less<HInstruction*>(), allocator.Adapter(kArenaAllocSelectGenerator)); in Run() 122 HInstruction* instr = true_block->GetFirstInstruction(); in Run() 127 HInstruction* instr = false_block->GetFirstInstruction(); in Run() 142 HInstruction* true_value = nullptr; in Run() 143 HInstruction* false_value = nullptr; in Run() 156 HInstruction* condition = if_instruction->InputAt(0); in Run()
|
D | constant_folding_test.cc | 125 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 186 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 247 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 326 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 329 HInstruction* inst2 = inst1->GetPrevious(); in TEST_F() 332 HInstruction* inst3 = inst2->GetPrevious(); in TEST_F() 397 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 460 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 524 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F() 624 HInstruction* inst1 = graph->GetBlocks()[4]->GetFirstInstruction()->InputAt(0); in TEST_F() [all …]
|
D | code_generator_x86.h | 189 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86() 199 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 200 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 223 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86() 261 void HandleFieldSet(HInstruction* instruction, 264 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 275 void GenerateReferenceLoadOneRegister(HInstruction* instruction, 290 void GenerateReferenceLoadTwoRegisters(HInstruction* instruction, 300 void GenerateGcRootFieldLoad(HInstruction* instruction, 312 void GenerateTestAndBranch(HInstruction* instruction, [all …]
|
D | code_generator_x86_64.h | 193 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86_64() 203 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 204 void HandleFieldGet(HInstruction* instruction); 227 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86_64() 251 void HandleFieldSet(HInstruction* instruction, 254 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 269 void GenerateReferenceLoadOneRegister(HInstruction* instruction, 284 void GenerateReferenceLoadTwoRegisters(HInstruction* instruction, 294 void GenerateGcRootFieldLoad(HInstruction* instruction, 304 void GenerateTestAndBranch(HInstruction* instruction, [all …]
|
D | prepare_for_register_allocation.h | 60 bool CanMoveClinitCheck(HInstruction* input, HInstruction* user) const; 61 bool CanEmitConditionAt(HCondition* condition, HInstruction* user) const;
|
D | common_arm64.h | 81 inline vixl::aarch64::Register OutputRegister(HInstruction* instr) { in OutputRegister() 85 inline vixl::aarch64::Register InputRegisterAt(HInstruction* instr, int input_index) { in InputRegisterAt() 120 inline vixl::aarch64::VRegister OutputFPRegister(HInstruction* instr) { in OutputFPRegister() 124 inline vixl::aarch64::VRegister InputFPRegisterAt(HInstruction* instr, int input_index) { in InputFPRegisterAt() 135 inline vixl::aarch64::CPURegister OutputCPURegister(HInstruction* instr) { in OutputCPURegister() 141 inline vixl::aarch64::CPURegister InputCPURegisterAt(HInstruction* instr, int index) { in InputCPURegisterAt() 147 inline vixl::aarch64::CPURegister InputCPURegisterOrZeroRegAt(HInstruction* instr, in InputCPURegisterOrZeroRegAt() 149 HInstruction* input = instr->InputAt(index); in InputCPURegisterOrZeroRegAt() 171 inline vixl::aarch64::Operand InputOperandAt(HInstruction* instr, int input_index) { in InputOperandAt() 241 inline bool Arm64CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { in Arm64CanEncodeConstantAsImmediate() [all …]
|
D | register_allocation_resolver.cc | 32 void RegisterAllocationResolver::Resolve(ArrayRef<HInstruction* const> safepoints, in Resolve() 59 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in Resolve() 147 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in Resolve() 187 HInstruction* phi = inst_it.Current(); in Resolve() 191 HInstruction* input = phi->InputAt(i); in Resolve() 207 HInstruction* at = liveness_.GetTempUser(temp); in Resolve() 234 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in UpdateSafepointLiveRegisters() 275 ArrayRef<HInstruction* const> safepoints) { in CalculateMaximumSafepointSpillSize() 279 for (HInstruction* instruction : safepoints) { in CalculateMaximumSafepointSpillSize() 412 HInstruction* instruction) { in IsMaterializableEntryBlockInstructionOfGraphWithIrreducibleLoop() [all …]
|
D | ssa_liveness_analysis.h | 112 UsePosition(HInstruction* user, size_t input_index, size_t position) in UsePosition() 126 HInstruction* GetUser() const { return user_; } in GetUser() 153 HInstruction* const user_; 229 explicit SafepointPosition(HInstruction* instruction) in SafepointPosition() 233 static size_t ComputePosition(HInstruction* instruction) { in ComputePosition() 262 HInstruction* GetInstruction() const { in GetInstruction() 267 HInstruction* const instruction_; 281 HInstruction* instruction = nullptr) { 300 void AddTempUse(HInstruction* instruction, size_t temp_index) { in AddTempUse() 313 void AddUse(HInstruction* instruction, [all …]
|
D | register_allocator_test.cc | 61 HGraph* BuildIfElseWithPhi(HPhi** phi, HInstruction** input1, HInstruction** input2); 63 HGraph* BuildFieldReturn(HInstruction** field, HInstruction** ret); 64 HGraph* BuildTwoSubs(HInstruction** first_sub, HInstruction** second_sub); 65 HGraph* BuildDiv(HInstruction** div); 489 HInstruction** input1, in BuildIfElseWithPhi() 490 HInstruction** input2) { in BuildIfElseWithPhi() 495 HInstruction* parameter = new (GetAllocator()) HParameterValue( in BuildIfElseWithPhi() 503 HInstruction* test = new (GetAllocator()) HInstanceFieldGet(parameter, in BuildIfElseWithPhi() 561 HInstruction *input1, *input2; in PhiHint() 640 HGraph* RegisterAllocatorTest::BuildFieldReturn(HInstruction** field, HInstruction** ret) { in BuildFieldReturn() [all …]
|
D | optimizing_unit_test.h | 63 HInstruction* defined_by = nullptr) { 83 HInstruction* current = it.Current(); in RemoveSuspendChecks() 202 void AddParameter(HInstruction* parameter) { in AddParameter() 235 HEnvironment* ManuallyBuildEnvFor(HInstruction* instruction, in ManuallyBuildEnvFor() 236 ArenaVector<HInstruction*>* current_locals) { in ManuallyBuildEnvFor() 244 environment->CopyFrom(ArrayRef<HInstruction* const>(*current_locals)); in ManuallyBuildEnvFor() 266 std::vector<HInstruction*> parameters_; 291 inline bool IsRemoved(HInstruction* instruction) { in IsRemoved()
|
D | instruction_builder.cc | 84 inline ScopedArenaVector<HInstruction*>* HInstructionBuilder::GetLocalsFor(HBasicBlock* block) { in GetLocalsFor() 85 ScopedArenaVector<HInstruction*>* locals = &locals_for_[block->GetBlockId()]; in GetLocalsFor() 93 ScopedArenaVector<HInstruction*>* HInstructionBuilder::GetLocalsForWithAllocation( in GetLocalsForWithAllocation() 95 ScopedArenaVector<HInstruction*>* locals, in GetLocalsForWithAllocation() 107 HInstruction* current_local_value = (*current_locals_)[i]; in GetLocalsForWithAllocation() 122 inline HInstruction* HInstructionBuilder::ValueOfLocalAt(HBasicBlock* block, size_t local) { in ValueOfLocalAt() 123 ScopedArenaVector<HInstruction*>* locals = GetLocalsFor(block); in ValueOfLocalAt() 156 HInstruction* incoming = in InitializeBlockLocals() 178 HInstruction* value = ValueOfLocalAt(current_block_->GetPredecessors()[0], local); in InitializeBlockLocals() 181 HInstruction* current = ValueOfLocalAt(predecessor, local); in InitializeBlockLocals() [all …]
|
D | gvn.cc | 84 void Add(HInstruction* instruction) { in Add() 98 HInstruction* Lookup(HInstruction* instruction) const { in Lookup() 104 HInstruction* existing = node->GetInstruction(); in Lookup() 114 bool Contains(HInstruction* instruction) const { in Contains() 188 Node(HInstruction* instruction, size_t hash_code, Node* next) in Node() 192 HInstruction* GetInstruction() const { return instruction_; } in GetInstruction() 216 HInstruction* const instruction_; 311 size_t HashCode(HInstruction* instruction) const { in HashCode() 488 HInstruction* current = block->GetFirstInstruction(); in VisitBasicBlock() 491 HInstruction* next = current->GetNext(); in VisitBasicBlock() [all …]
|
D | scheduler_arm.h | 58 void VisitInstruction(HInstruction* ATTRIBUTE_UNUSED) override { in VisitInstruction() 127 void HandleFieldSetLatencies(HInstruction* instruction, const FieldInfo& field_info); 128 void HandleFieldGetLatencies(HInstruction* instruction, const FieldInfo& field_info); 145 bool IsSchedulable(const HInstruction* instruction) const override { in IsSchedulable() 147 HInstruction::InstructionKind::k##type: in IsSchedulable()
|
D | code_generator_arm_vixl.h | 248 explicit SlowPathCodeARMVIXL(HInstruction* instruction) in SlowPathCodeARMVIXL() 299 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_ARM() 311 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 312 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 314 Location ArithmeticZeroOrFpuRegister(HInstruction* input); 315 Location ArmEncodableConstantOrRegister(HInstruction* constant, Opcode opcode); 337 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_ARM() 371 HInstruction* instruction); 377 void HandleFieldSet(HInstruction* instruction, 380 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); [all …]
|
D | graph_checker.cc | 39 static bool IsAllowedToJumpToExitBlock(HInstruction* instruction) { in IsAllowedToJumpToExitBlock() 151 HInstruction* last_instruction = IsExitTryBoundaryIntoExitBlock(predecessor) ? in VisitBasicBlock() 164 HInstruction* current = it.Current(); in VisitBasicBlock() 181 HInstruction* current = it.Current(); in VisitBasicBlock() 359 void GraphChecker::VisitInstruction(HInstruction* instruction) { in VisitInstruction() 382 for (HInstruction* input : instruction->GetInputs()) { in VisitInstruction() 403 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in VisitInstruction() 404 HInstruction* user = use.GetUser(); in VisitInstruction() 442 const HUserRecord<HInstruction*>& input_record = input_records[i]; in VisitInstruction() 443 HInstruction* input = input_record.GetInstruction(); in VisitInstruction() [all …]
|
D | inliner.cc | 169 for (HInstruction* instruction = block->GetFirstInstruction(); instruction != nullptr;) { in Run() 170 HInstruction* next = instruction->GetNext(); in Run() 219 HInstruction* receiver = invoke->InputAt(0); in FindVirtualOrInterfaceTarget() 803 HInstruction* receiver, in BuildGetReceiverClass() 824 HInstruction* invoke_instruction, in ResolveMethodFromInlineCache() 878 HInstruction* receiver = invoke_instruction->InputAt(0); in TryInlineMonomorphicCall() 879 HInstruction* cursor = invoke_instruction->GetPrevious(); in TryInlineMonomorphicCall() 910 void HInliner::AddCHAGuard(HInstruction* invoke_instruction, in AddCHAGuard() 912 HInstruction* cursor, in AddCHAGuard() 916 HInstruction* compare = new (graph_->GetAllocator()) HNotEqual( in AddCHAGuard() [all …]
|
D | superblock_cloner_test.cc | 73 HInstruction* suspend_check = new (GetAllocator()) HSuspendCheck(); in CreateBasicLoopDataFlow() 74 HInstruction* loop_check = new (GetAllocator()) HGreaterThanOrEqual(phi, const_128); in CreateBasicLoopDataFlow() 82 HInstruction* null_check = new (GetAllocator()) HNullCheck(parameters_[0], dex_pc); in CreateBasicLoopDataFlow() 83 HInstruction* array_length = new (GetAllocator()) HArrayLength(null_check, dex_pc); in CreateBasicLoopDataFlow() 84 HInstruction* bounds_check = new (GetAllocator()) HBoundsCheck(phi, array_length, dex_pc); in CreateBasicLoopDataFlow() 85 HInstruction* array_get = in CreateBasicLoopDataFlow() 87 HInstruction* add = new (GetAllocator()) HAdd(DataType::Type::kInt32, array_get, const_1); in CreateBasicLoopDataFlow() 88 HInstruction* array_set = new (GetAllocator()) HArraySet( in CreateBasicLoopDataFlow() 90 HInstruction* induction_inc = new (GetAllocator()) HAdd(DataType::Type::kInt32, phi, const_1); in CreateBasicLoopDataFlow() 107 ArenaVector<HInstruction*> current_locals({phi, const_128, parameters_[0]}, in CreateBasicLoopDataFlow() [all …]
|
D | induction_var_range_test.cc | 50 void ExpectInt(int32_t value, HInstruction* i) { in ExpectInt() 84 void BuildLoop(int32_t lower, HInstruction* upper, int32_t stride) { in BuildLoop() 128 void SetHint(HInstruction* hint) { in SetHint() 152 HInductionVarAnalysis::InductionInfo* CreateFetch(HInstruction* fetch) { in CreateFetch() 315 HInstruction* condition_; 316 HInstruction* increment_; 317 HInstruction* x_; 318 HInstruction* y_; 704 HInstruction* new_array = new (GetAllocator()) HNewArray( in TEST_F() 710 HInstruction* array_length = new (GetAllocator()) HArrayLength(new_array, 0); in TEST_F() [all …]
|
D | scheduler_arm.cc | 110 HInstruction* rhs = instr->GetRight(); in VisitRor() 134 HInstruction* rhs = instr->GetRight(); in HandleShiftLatencies() 211 HInstruction* right = condition->InputAt(1); in HandleGenerateLongTestConstant() 321 HInstruction* right = condition->InputAt(1); in CanGenerateTest() 382 HInstruction* right = cond->InputAt(1); in HandleGenerateConditionLong() 439 HInstruction* right = cond->InputAt(1); in HandleGenerateConditionIntegralOrNonPrimitive() 558 const HInstruction::InstructionKind kind = instruction->GetInstrKind(); in HandleGenerateDataProc() 559 if (kind == HInstruction::kAdd) { in HandleGenerateDataProc() 562 } else if (kind == HInstruction::kSub) { in HandleGenerateDataProc() 576 const HInstruction::InstructionKind kind = instruction->GetInstrKind(); in HandleGenerateLongDataProc() [all …]
|