/art/compiler/optimizing/ |
D | nodes.h | 31 class HInstruction; variable 56 void AddInstruction(HInstruction* instruction); 57 void RemoveInstruction(HInstruction* instruction); 60 HInstruction* first_instruction_; 61 HInstruction* last_instruction_; 302 HInstruction* GetFirstInstruction() const { return instructions_.first_instruction_; } in GetFirstInstruction() 303 HInstruction* GetLastInstruction() const { return instructions_.last_instruction_; } in GetLastInstruction() 306 HInstruction* GetFirstPhi() const { return phis_.first_instruction_; } in GetFirstPhi() 352 void AddInstruction(HInstruction* instruction); 353 void RemoveInstruction(HInstruction* instruction); [all …]
|
D | ssa_phi_elimination.cc | 31 for (HUseIterator<HInstruction> it(phi->GetUses()); !it.Done(); it.Advance()) { in Run() 32 HUseListNode<HInstruction>* current = it.Current(); in Run() 33 HInstruction* user = current->GetUser(); in Run() 48 HInstruction* input = it.Current(); in Run() 60 HInstruction* current = block->GetFirstPhi(); in Run() 61 HInstruction* next = nullptr; in Run() 90 HInstruction* candidate = phi->InputAt(0); in Run() 95 HInstruction* input = phi->InputAt(i); in Run() 113 for (HUseIterator<HInstruction> it(phi->GetUses()); !it.Done(); it.Advance()) { in Run() 114 HUseListNode<HInstruction>* current = it.Current(); in Run() [all …]
|
D | nodes.cc | 291 void HBasicBlock::InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) { in InsertInstructionBefore() 312 HInstruction* instruction) { in Add() 320 void HBasicBlock::AddInstruction(HInstruction* instruction) { in AddInstruction() 330 HInstruction* instruction) { in Remove() 342 void HBasicBlock::RemoveInstruction(HInstruction* instruction) { in RemoveInstruction() 350 void HInstruction::RemoveUser(HInstruction* user, size_t input_index) { in RemoveUser() 351 HUseListNode<HInstruction>* previous = nullptr; in RemoveUser() 352 HUseListNode<HInstruction>* current = uses_; in RemoveUser() 366 void HInstructionList::AddInstruction(HInstruction* instruction) { in AddInstruction() 380 void HInstructionList::RemoveInstruction(HInstruction* instruction) { in RemoveInstruction() [all …]
|
D | ssa_builder.cc | 38 HInstruction* input = ValueOfLocal(block->GetPredecessors().Get(pred), phi->GetRegNumber()); in BuildSsa() 53 HInstruction* current = it.Current(); in BuildSsa() 60 HInstruction* SsaBuilder::ValueOfLocal(HBasicBlock* block, size_t local) { in ValueOfLocal() 73 HInstruction* incoming = ValueOfLocal(block->GetLoopInformation()->GetPreHeader(), local); in VisitBasicBlock() 90 HInstruction* value = ValueOfLocal(block->GetPredecessors().Get(0), local); in VisitBasicBlock() 93 HInstruction* current = ValueOfLocal(block->GetPredecessors().Get(i), local); in VisitBasicBlock() 112 HInstruction* value = ValueOfLocal(block->GetPredecessors().Get(i), local); in VisitBasicBlock() 142 void SsaBuilder::VisitInstruction(HInstruction* instruction) { in VisitInstruction()
|
D | builder.cc | 49 void Add(HInstruction* instruction) { in Add() 53 HInstruction* temp = new (graph_->GetArena()) HTemporary(index_++); in Add() 141 HInstruction* first = LoadLocal(instruction.VRegA(), Primitive::kPrimInt); in If_22t() 142 HInstruction* second = LoadLocal(instruction.VRegB(), Primitive::kPrimInt); in If_22t() 145 HInstruction* ifinst = new (arena_) HIf(comparison); in If_22t() 158 HInstruction* value = LoadLocal(instruction.VRegA(), Primitive::kPrimInt); in If_21t() 161 HInstruction* ifinst = new (arena_) HIf(comparison); in If_21t() 274 HInstruction* first = LoadLocal(instruction.VRegB(), type); in Binop_23x() 275 HInstruction* second = LoadLocal(instruction.VRegC(), type); in Binop_23x() 282 HInstruction* first = LoadLocal(instruction.VRegA(), type); in Binop_12x() [all …]
|
D | ssa_builder.h | 38 GrowableArray<HInstruction*>* GetLocalsFor(HBasicBlock* block) { in GetLocalsFor() 48 HInstruction* ValueOfLocal(HBasicBlock* block, size_t local); 53 void VisitInstruction(HInstruction* instruction); 57 GrowableArray<HInstruction*>* current_locals_;
|
D | ssa_liveness_analysis.cc | 109 HInstruction* current = it.Current(); in NumberInstructions() 126 HInstruction* current = it.Current(); in NumberInstructions() 180 HInstruction* phi = it.Current(); in ComputeLiveRanges() 181 HInstruction* input = phi->InputAt(phi_input_index); in ComputeLiveRanges() 191 HInstruction* current = instructions_from_ssa_index_.Get(idx); in ComputeLiveRanges() 196 HInstruction* current = it.Current(); in ComputeLiveRanges() 206 HInstruction* input = current->InputAt(i); in ComputeLiveRanges() 217 GrowableArray<HInstruction*>* environment = current->GetEnvironment()->GetVRegs(); in ComputeLiveRanges() 219 HInstruction* instruction = environment->Get(i); in ComputeLiveRanges() 231 HInstruction* current = it.Current(); in ComputeLiveRanges() [all …]
|
D | ssa_liveness_analysis.h | 92 UsePosition(HInstruction* user, in UsePosition() 110 HInstruction* GetUser() const { return user_; } in GetUser() 121 HInstruction* const user_; 136 LiveInterval(ArenaAllocator* allocator, Primitive::Type type, HInstruction* defined_by = nullptr) 158 void AddUse(HInstruction* instruction, size_t input_index, bool is_environment) { in AddUse() 183 void AddPhiUse(HInstruction* instruction, size_t input_index, HBasicBlock* block) { in AddPhiUse() 333 HInstruction* GetDefinedBy() const { in GetDefinedBy() 459 HInstruction* const defined_by_; 498 HInstruction* GetInstructionFromSsaIndex(size_t index) const { in GetInstructionFromSsaIndex() 502 HInstruction* GetInstructionFromPosition(size_t index) const { in GetInstructionFromPosition() [all …]
|
D | pretty_printer.h | 29 void PrintPreInstruction(HInstruction* instruction) { in PrintPreInstruction() 35 virtual void VisitInstruction(HInstruction* instruction) { in VisitInstruction() 41 void PrintPostInstruction(HInstruction* instruction) { in PrintPostInstruction() 58 for (HUseIterator<HInstruction> it(instruction->GetUses()); !it.Done(); it.Advance()) { in PrintPostInstruction()
|
D | locations.cc | 23 LocationSummary::LocationSummary(HInstruction* instruction) in LocationSummary() 33 Location Location::RegisterOrConstant(HInstruction* instruction) { in RegisterOrConstant()
|
D | register_allocator.cc | 56 HInstruction* current = it.Current(); in CanAllocateRegistersFor() 116 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i - 1); in AllocateRegistersInternal() 209 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in ValidateInternal() 247 HInstruction* defined_by = current->GetParent()->GetDefinedBy(); in ValidateIntervals() 575 HInstruction* defined_by = parent->GetDefinedBy(); in AllocateSpillSlotFor() 652 HInstruction* defined_by = interval->GetParent()->GetDefinedBy(); in ConvertToLocation() 671 static bool IsInputMove(HInstruction* instruction) { in IsInputMove() 675 void RegisterAllocator::AddInputMoveFor(HInstruction* instruction, in AddInputMoveFor() 682 HInstruction* previous = instruction->GetPrevious(); in AddInputMoveFor() 702 HInstruction* at = liveness_.GetInstructionFromPosition(position / 2); in InsertParallelMoveAt() [all …]
|
D | graph_test.cc | 31 HInstruction* instr = new (allocator) HIntConstant(4); in createIfBlock() 33 HInstruction* equal = new (allocator) HEqual(instr, instr); in createIfBlock() 43 HInstruction* got = new (allocator) HGoto(); in createGotoBlock() 51 HInstruction* return_instr = new (allocator) HReturnVoid(); in createReturnBlock() 59 HInstruction* exit_instr = new (allocator) HExit(); in createExitBlock() 292 HInstruction* got = block->GetLastInstruction(); in TEST() 296 HInstruction* first_instruction = new (&allocator) HIntConstant(4); in TEST() 309 HInstruction* second_instruction = new (&allocator) HIntConstant(4); in TEST()
|
D | code_generator.h | 94 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) = 0; 154 void AllocateRegistersLocally(HInstruction* instruction) const; 171 void InitLocations(HInstruction* instruction);
|
D | register_allocator.h | 29 class HInstruction; variable 112 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const; 113 void AddInputMoveFor(HInstruction* instruction, Location source, Location destination) const;
|
D | code_generator.cc | 55 HInstruction* current = it.Current(); in CompileBaseline() 83 HInstruction* current = it.Current(); in CompileOptimized() 146 void CodeGenerator::AllocateRegistersLocally(HInstruction* instruction) const { in AllocateRegistersLocally() 178 HInstruction* input = instruction->InputAt(i); in AllocateRegistersLocally() 225 void CodeGenerator::InitLocations(HInstruction* instruction) { in InitLocations() 228 HInstruction* previous = instruction->GetPrevious(); in InitLocations()
|
D | builder.h | 71 void UpdateLocal(int register_index, HInstruction* instruction) const; 72 HInstruction* LoadLocal(int register_index, Primitive::Type type) const;
|
D | locations.h | 28 class HInstruction; variable 220 static Location RegisterOrConstant(HInstruction* instruction); 278 explicit LocationSummary(HInstruction* instruction);
|
D | graph_visualizer.cc | 138 void VisitInstruction(HInstruction* instruction) { in VisitInstruction() 175 HInstruction* instruction = it.Current(); in PrintInstructions() 216 HInstruction* instruction = it.Current(); in VisitBasicBlock()
|
D | code_generator_x86_64.h | 131 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
|
D | code_generator_x86.h | 134 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
|
D | code_generator_arm.h | 132 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
|
D | ssa_type_propagation.cc | 89 for (HUseIterator<HInstruction> it(instruction->GetUses()); !it.Done(); it.Advance()) { in AddDependentInstructionsToWorklist()
|
D | code_generator_x86_64.cc | 307 void CodeGeneratorX86_64::Move(HInstruction* instruction, in Move() 309 HInstruction* move_for) { in Move() 388 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 398 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 694 HInstruction* input = invoke->InputAt(i); in VisitInvokeStatic()
|
D | code_generator_arm.cc | 455 void CodeGeneratorARM::Move(HInstruction* instruction, Location location, HInstruction* move_for) { in Move() 549 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 559 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 803 HInstruction* input = invoke->InputAt(i); in VisitInvokeStatic()
|
D | code_generator_x86.cc | 423 void CodeGeneratorX86::Move(HInstruction* instruction, Location location, HInstruction* move_for) { in Move() 507 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 517 HInstruction* cond = if_instr->InputAt(0); in VisitIf() 749 HInstruction* input = invoke->InputAt(i); in VisitInvokeStatic()
|