Home
last modified time | relevance | path

Searched refs:HInstruction (Results 1 – 25 of 25) sorted by relevance

/art/compiler/optimizing/
Dnodes.h31 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 …]
Dssa_phi_elimination.cc31 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 …]
Dnodes.cc291 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 …]
Dssa_builder.cc38 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()
Dbuilder.cc49 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 …]
Dssa_builder.h38 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_;
Dssa_liveness_analysis.cc109 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 …]
Dssa_liveness_analysis.h92 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 …]
Dpretty_printer.h29 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()
Dlocations.cc23 LocationSummary::LocationSummary(HInstruction* instruction) in LocationSummary()
33 Location Location::RegisterOrConstant(HInstruction* instruction) { in RegisterOrConstant()
Dregister_allocator.cc56 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 …]
Dgraph_test.cc31 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()
Dcode_generator.h94 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) = 0;
154 void AllocateRegistersLocally(HInstruction* instruction) const;
171 void InitLocations(HInstruction* instruction);
Dregister_allocator.h29 class HInstruction; variable
112 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const;
113 void AddInputMoveFor(HInstruction* instruction, Location source, Location destination) const;
Dcode_generator.cc55 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()
Dbuilder.h71 void UpdateLocal(int register_index, HInstruction* instruction) const;
72 HInstruction* LoadLocal(int register_index, Primitive::Type type) const;
Dlocations.h28 class HInstruction; variable
220 static Location RegisterOrConstant(HInstruction* instruction);
278 explicit LocationSummary(HInstruction* instruction);
Dgraph_visualizer.cc138 void VisitInstruction(HInstruction* instruction) { in VisitInstruction()
175 HInstruction* instruction = it.Current(); in PrintInstructions()
216 HInstruction* instruction = it.Current(); in VisitBasicBlock()
Dcode_generator_x86_64.h131 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
Dcode_generator_x86.h134 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
Dcode_generator_arm.h132 virtual void Move(HInstruction* instruction, Location location, HInstruction* move_for) OVERRIDE;
Dssa_type_propagation.cc89 for (HUseIterator<HInstruction> it(instruction->GetUses()); !it.Done(); it.Advance()) { in AddDependentInstructionsToWorklist()
Dcode_generator_x86_64.cc307 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()
Dcode_generator_arm.cc455 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()
Dcode_generator_x86.cc423 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()