Searched refs:HPhi (Results 1 - 25 of 37) sorted by relevance

12

/art/compiler/optimizing/
H A Dssa_builder.h32 * following text is materialized as a `HPhi`.
111 bool TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist);
112 bool UpdatePrimitiveType(HPhi* phi, ScopedArenaVector<HPhi*>* worklist);
113 void ProcessPrimitiveTypePropagationWorklist(ScopedArenaVector<HPhi*>* worklist);
117 HPhi* GetFloatDoubleOrReferenceEquivalentOfPhi(HPhi* phi, DataType::Type type);
H A Dssa_phi_elimination.cc36 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination));
42 ScopedArenaSet<HPhi*> initially_live(allocator.Adapter(kArenaAllocSsaPhiElimination));
47 HPhi* phi = inst_it.Current()->AsPhi();
75 HPhi* phi = worklist.back();
78 HPhi* input = raw_input->AsPhi();
97 HPhi* phi;
130 ScopedArenaVector<HPhi*> worklist(allocator.Adapter(kArenaAllocSsaPhiElimination));
146 ScopedArenaVector<HPhi*> cycle_worklist(allocator.Adapter(kArenaAllocSsaPhiElimination));
149 HPhi* phi = worklist.back();
190 HPhi* curren
[all...]
H A Dssa_builder.cc66 HPhi* phi = it.Current()->AsPhi();
67 HPhi* next = phi->GetNextEquivalentPhiWithSameType();
88 HPhi* phi = it_phis.Current()->AsPhi();
108 ScopedArenaVector<HPhi*>* worklist) {
126 static bool TypePhiFromInputs(HPhi* phi) {
136 DataType::Type input_type = HPhi::ToPhiType(input->GetType());
170 bool SsaBuilder::TypeInputsOfPhi(HPhi* phi, ScopedArenaVector<HPhi*>* worklist) {
177 DCHECK(HPhi::ToPhiType(input->GetType()) == common_type);
216 bool SsaBuilder::UpdatePrimitiveType(HPhi* ph
[all...]
H A Dselect_generator.cc69 static HPhi* GetSingleChangedPhi(HBasicBlock* block, size_t index1, size_t index2) {
72 HPhi* select_phi = nullptr;
74 HPhi* phi = it.Current()->AsPhi();
125 HPhi* phi = GetSingleChangedPhi(merge_block, predecessor_index_true, predecessor_index_false);
H A Dinduction_var_analysis_test.cc109 basic_[d] = new (GetAllocator()) HPhi(GetAllocator(), d, 0, DataType::Type::kInt32);
125 HPhi* BuildIf(int d, HBasicBlock** ifT, HBasicBlock** ifF) {
142 HPhi* select_phi = new (GetAllocator()) HPhi(GetAllocator(), -1, 0, DataType::Type::kInt32);
154 HPhi* InsertLoopPhi(int vreg, int d) {
155 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), vreg, 0, DataType::Type::kInt32);
224 HPhi* basic_[10]; // "vreg_d", the "i_d"
313 HPhi* k_header = InsertLoopPhi(0, 0);
342 HPhi* k_heade
[all...]
H A Dloop_optimization.h170 void GenerateVecReductionPhi(HPhi* phi);
171 void GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* reduction);
206 bool TrySetPhiInduction(HPhi* phi, bool restrict_uses);
207 bool TrySetPhiReduction(HPhi* phi);
211 bool TrySetSimpleLoopHeader(HBasicBlock* block, /*out*/ HPhi** main_phi);
H A Dregister_allocator_linear_scan.h32 class HPhi;
89 void AllocateSpillSlotForCatchPhi(HPhi* phi);
H A Dsuperblock_cloner.cc62 static bool ArePhiInputsTheSame(const HPhi* phi) {
164 HPhi* orig_phi = it.Current()->AsPhi();
165 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi();
194 HPhi* orig_phi = it.Current()->AsPhi();
195 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi();
210 HPhi* orig_phi = it.Current()->AsPhi();
379 void SuperblockCloner::ResolvePhi(HPhi* phi) {
492 HPhi* orig_phi = it.Current()->AsPhi();
493 HPhi* copy_phi = GetInstrCopy(orig_phi)->AsPhi();
637 HPhi* ph
[all...]
H A Dloop_optimization_test.cc218 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32);
280 HPhi* header_phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32);
306 HPhi* new_preheader_phi = new_preheader->GetFirstPhi()->AsPhi();
H A Dinduction_var_analysis.h244 void AssignCycle(HPhi* phi);
245 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi);
277 ArenaSafeMap<HPhi*, ArenaSet<HInstruction*>> cycles_;
H A Dgraph_checker.h52 void VisitPhi(HPhi* phi) OVERRIDE;
H A Dinduction_var_range.h149 ArenaSet<HInstruction*>* LookupCycle(HPhi* phi) const {
158 bool IsClassified(HPhi* phi) const {
H A Dbounds_check_elimination_test.cc391 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32);
511 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32);
619 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32);
718 HPhi* phi = new (allocator) HPhi(allocator, 0, 0, DataType::Type::kInt32);
814 HPhi* phi_i = new (GetAllocator()) HPhi(GetAllocato
[all...]
H A Dloop_optimization.cc591 HPhi* phi = it.Current()->AsPhi();
679 HPhi* main_phi = nullptr;
857 HPhi* main_phi = nullptr;
1021 HPhi* phi = new (global_allocator_) HPhi(global_allocator_,
1024 HPhi::ToPhiType(induc_type));
1644 void HLoopOptimization::GenerateVecReductionPhi(HPhi* phi) {
1649 HPhi* new_phi = new (global_allocator_) HPhi(
1659 HPhi* new_ph
[all...]
H A Dsuperblock_cloner_test.cc85 HPhi* phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32);
H A Dregister_allocator_test.cc55 HGraph* BuildIfElseWithPhi(HPhi** phi, HInstruction** input1, HInstruction** input2);
338 HPhi* phi = loop_header->GetFirstPhi()->AsPhi();
492 HGraph* RegisterAllocatorTest::BuildIfElseWithPhi(HPhi** phi,
532 *phi = new (GetAllocator()) HPhi(GetAllocator(), 0, 0, DataType::Type::kInt32);
564 HPhi *phi;
888 HPhi* user = new (GetAllocator()) HPhi(GetAllocator(), 0, 1, DataType::Type::kInt32);
H A Dbounds_check_elimination.cc370 HPhi* induction_variable,
485 HPhi* const induction_variable_; // Induction variable for this monotonic value range.
931 static bool HasSameInputAtBackEdges(HPhi* phi) {
948 void VisitPhi(HPhi* phi) OVERRIDE {
1831 HPhi* phi = nullptr;
1871 HPhi* NewPhi(HBasicBlock* new_preheader,
1882 HPhi* phi = new (graph->GetAllocator())
1883 HPhi(graph->GetAllocator(), kNoRegNumber, /*number_of_inputs*/ 2, HPhi::ToPhiType(type));
H A Dreference_type_propagation.cc104 void VisitPhi(HPhi* phi);
118 void UpdatePhi(HPhi* phi) REQUIRES_SHARED(Locks::mutator_lock_);
747 void ReferenceTypePropagation::RTPVisitor::VisitPhi(HPhi* phi) {
922 void ReferenceTypePropagation::RTPVisitor::UpdatePhi(HPhi* instr) {
979 HPhi* phi = instr->AsPhi();
H A Dlive_ranges_test.cc332 HPhi* phi = liveness.GetInstructionFromSsaIndex(1)->AsPhi();
434 HPhi* phi = liveness.GetInstructionFromSsaIndex(4)->AsPhi();
H A Dnodes.cc374 HPhi* phi = it.Current()->AsPhi();
473 HPhi* header_phi = it.Current()->AsPhi();
475 HPhi* preheader_phi = new (GetAllocator()) HPhi(GetAllocator(),
958 void HBasicBlock::ReplaceAndRemovePhiWith(HPhi* initial, HPhi* replacement) {
1003 void HBasicBlock::AddPhi(HPhi* phi) {
1034 void HBasicBlock::InsertPhiAfter(HPhi* phi, HPhi* cursor) {
1063 void HBasicBlock::RemovePhi(HPhi* ph
[all...]
H A Dgraph_checker.cc493 HPhi* catch_phi = phi_it.Current()->AsPhi();
722 void GraphChecker::VisitPhi(HPhi* phi) {
745 if (phi->GetType() != HPhi::ToPhiType(phi->GetType())) {
826 HPhi* other_phi = phi_it.Current()->AsPhi();
H A Dsuperblock_cloner.h269 void ResolvePhi(HPhi* phi);
H A Dinstruction_builder.cc109 HPhi* phi = new (allocator_) HPhi(
159 HPhi* phi = new (allocator_) HPhi(
198 HPhi* phi = new (allocator_) HPhi(
286 HPhi* phi = it.Current()->AsPhi();
1610 DCHECK_EQ(HPhi::ToPhiType(value->GetType()), HPhi::ToPhiType(field_type));
H A Ddead_code_elimination.cc343 HPhi* phi = block->GetFirstPhi()->AsPhi();
H A Dnodes.h65 class HPhi;
1198 void ReplaceAndRemovePhiWith(HPhi* initial, HPhi* replacement);
1202 void AddPhi(HPhi* phi);
1203 void InsertPhiAfter(HPhi* instruction, HPhi* cursor);
1208 void RemovePhi(HPhi* phi, bool ensure_safety = true);
2702 class HPhi FINAL : public HVariableInputSizeInstruction {
2704 HPhi(ArenaAllocator* allocator, function in class:art::FINAL
2728 // Returns a type equivalent to the given `type`, but that a `HPhi` ca
[all...]

Completed in 167 milliseconds

12