/art/compiler/optimizing/ |
H A D | ssa_phi_elimination.cc | 36 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 D | prepare_for_register_allocation.cc | 66 HInstruction* user = condition->GetUses().GetFirst()->GetUser(); local 67 if (!user->IsIf() && !user->IsDeoptimize()) { 72 if (condition->GetNext() != user) {
|
H A D | reference_type_propagation.cc | 95 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 D | ssa_liveness_analysis.cc | 196 // 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 D | ssa_builder.h | 80 static HInstruction* GetFloatOrDoubleEquivalent(HInstruction* user,
|
H A D | register_allocator_test.cc | 358 // 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 D | ssa_liveness_analysis.h | 106 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 D | register_allocator.h | 123 HInstruction* user,
|
H A D | bounds_check_elimination.cc | 988 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 D | register_allocator.cc | 1312 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 D | nodes.cc | 741 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 D | nodes.h | 907 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 D | ssa_builder.cc | 499 HInstruction* SsaBuilder::GetFloatOrDoubleEquivalent(HInstruction* user, argument 519 DCHECK(user->IsPhi());
|