Searched refs:user (Results 1 - 13 of 13) sorted by relevance

/art/compiler/optimizing/
H A Dssa_phi_elimination.cc36 HInstruction* user = current->GetUser(); local
37 if (!user->IsPhi()) {
76 HInstruction* user = use_it.Current()->GetUser(); local
77 DCHECK(user->IsLoopHeaderPhi()) << user->GetId();
78 DCHECK(user->AsPhi()->IsDead()) << user->GetId();
89 HEnvironment* user = user_node->GetUser(); local
90 user->SetRawEnvAt(user_node->GetIndex(), nullptr);
146 HInstruction* user local
[all...]
H A Dprepare_for_register_allocation.cc66 HInstruction* user = condition->GetUses().GetFirst()->GetUser(); local
67 if (!user->IsIf() && !user->IsDeoptimize()) {
72 if (condition->GetNext() != user) {
H A Dreference_type_propagation.cc95 HInstruction* user = it.Current()->GetUser(); local
96 if (notNullBlock->Dominates(user->GetBlock())) {
101 user->ReplaceInput(bound_type, it.Current()->GetIndex());
150 HInstruction* user = it.Current()->GetUser(); local
151 if (instanceOfTrueBlock->Dominates(user->GetBlock())) {
173 user->ReplaceInput(bound_type, it.Current()->GetIndex());
332 HInstruction* user = it.Current()->GetUser(); local
333 if (user->IsPhi() || user->IsBoundType()) {
334 AddToWorklist(user);
[all...]
H A Dssa_liveness_analysis.cc196 // A phi input whose last user is the phi dies at the end of the predecessor block,
364 HInstruction* user = use->GetUser(); local
366 if (user->IsPhi()) {
368 Location phi_location = user->GetLiveInterval()->ToLocation();
376 const GrowableArray<HBasicBlock*>& predecessors = user->GetBlock()->GetPredecessors();
380 for (size_t i = 0, e = user->InputCount(); i < e; ++i) {
384 HInstruction* input = user->InputAt(i);
397 LocationSummary* locations = user->GetLocations();
399 // We use the user's lifetime position - 1 (and not `use_position`) because the
400 // register is blocked at the beginning of the user
[all...]
H A Dssa_builder.h80 static HInstruction* GetFloatOrDoubleEquivalent(HInstruction* user,
H A Dregister_allocator_test.cc358 // The user of the split is the last add.
804 // We create a synthesized user requesting a register, to avoid just spilling the
806 HPhi* user = new (&allocator) HPhi(&allocator, 0, 1, Primitive::kPrimInt); local
807 user->AddInput(one);
808 user->SetBlock(block);
809 LocationSummary* locations = new (&allocator) LocationSummary(user, LocationSummary::kNoCall);
812 BuildInterval(phi_ranges, arraysize(phi_ranges), &allocator, -1, user);
817 first->first_use_ = new(&allocator) UsePosition(user, 0, false, 8, first->first_use_);
818 first->first_use_ = new(&allocator) UsePosition(user, 0, false, 7, first->first_use_);
819 first->first_use_ = new(&allocator) UsePosition(user,
[all...]
H A Dssa_liveness_analysis.h106 UsePosition(HInstruction* user, argument
111 : user_(user),
116 DCHECK((user == nullptr)
117 || user->IsPhi()
118 || (GetPosition() == user->GetLifetimePosition() + 1)
119 || (GetPosition() == user->GetLifetimePosition()));
236 DCHECK(first_use_ == nullptr) << "A temporary can only have one user";
237 DCHECK(first_env_use_ == nullptr) << "A temporary cannot have environment user";
274 // The user uses the instruction multiple times, and one use dies before the other.
993 /* user */ nullpt
1143 HInstruction* user = GetInstructionFromPosition(temp->GetStart() / 2); local
[all...]
H A Dregister_allocator.h123 HInstruction* user,
H A Dbounds_check_elimination.cc988 HInstruction* user = it.Current()->GetUser(); local
989 DCHECK(GetLoopHeaderSuccesorInLoop()->Dominates(user->GetBlock()));
1800 HInstruction* user = it2.Current()->GetUser(); local
1801 if (user->GetBlock() == block &&
1802 user->IsBoundsCheck() &&
1803 user->AsBoundsCheck()->InputAt(0)->IsIntConstant()) {
1804 DCHECK_EQ(array_length, user->AsBoundsCheck()->InputAt(1));
1805 HIntConstant* const_instr = user->AsBoundsCheck()->InputAt(0)->AsIntConstant();
H A Dregister_allocator.cc1312 HInstruction* user,
1317 DCHECK(!user->IsPhi());
1319 HInstruction* previous = user->GetPrevious();
1323 || previous->GetLifetimePosition() < user->GetLifetimePosition()) {
1325 move->SetLifetimePosition(user->GetLifetimePosition());
1326 user->GetBlock()->InsertInstructionBefore(move, user);
1330 DCHECK_EQ(move->GetLifetimePosition(), user->GetLifetimePosition());
1311 AddInputMoveFor(HInstruction* input, HInstruction* user, Location source, Location destination) const argument
H A Dnodes.cc741 HInstruction* user = current->GetUser(); local
743 user->SetRawInputAt(input_index, other);
744 other->AddUseAt(user, input_index);
749 HEnvironment* user = current->GetUser(); local
751 user->SetRawEnvAt(input_index, other);
752 other->AddEnvUseAt(user, input_index);
H A Dnodes.h907 HUseListNode(T user, size_t index) argument
908 : user_(user), index_(index), prev_(nullptr), next_(nullptr) {}
931 HUseListNode<T>* AddUse(T user, size_t index, ArenaAllocator* arena) { argument
932 HUseListNode<T>* new_node = new (arena) HUseListNode<T>(user, index);
1037 // Instruction used by the user.
1369 void AddUseAt(HInstruction* user, size_t index) { argument
1370 DCHECK(user != nullptr);
1372 uses_.AddUse(user, index, GetBlock()->GetGraph()->GetArena());
1373 user->SetRawInputRecordAt(index, HUserRecord<HInstruction*>(user
1376 AddEnvUseAt(HEnvironment* user, size_t index) argument
[all...]
H A Dssa_builder.cc499 HInstruction* SsaBuilder::GetFloatOrDoubleEquivalent(HInstruction* user, argument
519 DCHECK(user->IsPhi());

Completed in 3118 milliseconds