/art/compiler/optimizing/ |
D | instruction_simplifier_arm64.cc | 33 bool InstructionSimplifierArm64Visitor::TryMergeIntoShifterOperand(HInstruction* use, in TryMergeIntoShifterOperand() argument 36 DCHECK(HasShifterOperand(use, kArm64)); in TryMergeIntoShifterOperand() 37 DCHECK(use->IsBinaryOperation() || use->IsNeg()); in TryMergeIntoShifterOperand() 41 Primitive::Type type = use->GetType(); in TryMergeIntoShifterOperand() 48 if (use->IsBinaryOperation()) { in TryMergeIntoShifterOperand() 49 left = use->InputAt(0); in TryMergeIntoShifterOperand() 50 right = use->InputAt(1); in TryMergeIntoShifterOperand() 52 DCHECK(use->IsNeg()); in TryMergeIntoShifterOperand() 53 right = use->AsNeg()->InputAt(0); in TryMergeIntoShifterOperand() 65 bool is_commutative = use->IsBinaryOperation() && use->AsBinaryOperation()->IsCommutative(); in TryMergeIntoShifterOperand() [all …]
|
D | instruction_simplifier_arm.cc | 34 bool InstructionSimplifierArmVisitor::TryMergeIntoShifterOperand(HInstruction* use, in TryMergeIntoShifterOperand() argument 37 DCHECK(HasShifterOperand(use, kArm)); in TryMergeIntoShifterOperand() 38 DCHECK(use->IsBinaryOperation()); in TryMergeIntoShifterOperand() 42 Primitive::Type type = use->GetType(); in TryMergeIntoShifterOperand() 47 HInstruction* left = use->InputAt(0); in TryMergeIntoShifterOperand() 48 HInstruction* right = use->InputAt(1); in TryMergeIntoShifterOperand() 58 bool is_commutative = use->AsBinaryOperation()->IsCommutative(); in TryMergeIntoShifterOperand() 74 shift_amount &= use->GetType() == Primitive::kPrimInt in TryMergeIntoShifterOperand() 79 if (!ShifterOperandSupportsExtension(use)) { in TryMergeIntoShifterOperand() 90 new (GetGraph()->GetArena()) HDataProcWithShifterOp(use, in TryMergeIntoShifterOperand() [all …]
|
D | code_sinking.cc | 161 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in FindIdealPosition() local 162 HInstruction* user = use.GetUser(); in FindIdealPosition() 170 : block->GetPredecessors()[use.GetIndex()]; in FindIdealPosition() 175 for (const HUseListNode<HEnvironment*>& use : instruction->GetEnvUses()) { in FindIdealPosition() local 176 DCHECK(!use.GetUser()->GetHolder()->IsPhi()); in FindIdealPosition() 177 DCHECK(!filter || !ShouldFilterUse(instruction, use.GetUser()->GetHolder(), post_dominated)); in FindIdealPosition() 178 finder.Update(use.GetUser()->GetHolder()->GetBlock()); in FindIdealPosition() 198 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in FindIdealPosition() local 199 if (use.GetUser()->GetBlock() == target_block && in FindIdealPosition() 200 (insert_pos == nullptr || use.GetUser()->StrictlyDominates(insert_pos))) { in FindIdealPosition() [all …]
|
D | instruction_simplifier_arm.h | 39 bool TryMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op, bool do_merge); 40 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in CanMergeIntoShifterOperand() argument 41 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge */ false); in CanMergeIntoShifterOperand() 43 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in MergeIntoShifterOperand() argument 44 DCHECK(CanMergeIntoShifterOperand(use, bitfield_op)); in MergeIntoShifterOperand() 45 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge */ true); in MergeIntoShifterOperand()
|
D | instruction_simplifier_arm64.h | 39 bool TryMergeIntoShifterOperand(HInstruction* use, 42 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in CanMergeIntoShifterOperand() argument 43 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge */ false); in CanMergeIntoShifterOperand() 45 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in MergeIntoShifterOperand() argument 46 DCHECK(CanMergeIntoShifterOperand(use, bitfield_op)); in MergeIntoShifterOperand() 47 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge */ true); in MergeIntoShifterOperand()
|
D | instruction_simplifier_shared.cc | 109 HInstruction* use = mul->GetUses().front().GetUser(); in TryCombineMultiplyAccumulate() local 110 if (use->IsAdd() || use->IsSub()) { in TryCombineMultiplyAccumulate() 123 HBinaryOperation* binop = use->AsBinaryOperation(); in TryCombineMultiplyAccumulate() 131 } else if (use->IsAdd()) { in TryCombineMultiplyAccumulate() 149 } else if (use->IsNeg() && isa != kArm) { in TryCombineMultiplyAccumulate() 157 use->GetBlock()->ReplaceAndRemoveInstructionWith(use, mulacc); in TryCombineMultiplyAccumulate() 299 HInstruction* use = mul->GetUses().front().GetUser(); in TryCombineVecMultiplyAccumulate() local 300 if (use->IsVecAdd() || use->IsVecSub()) { in TryCombineVecMultiplyAccumulate() 313 HVecBinaryOperation* binop = use->AsVecBinaryOperation(); in TryCombineVecMultiplyAccumulate() 320 } else if (use->IsVecAdd()) { in TryCombineVecMultiplyAccumulate() [all …]
|
D | ssa_phi_elimination.cc | 46 for (const HUseListNode<HInstruction*>& use : phi->GetUses()) { in MarkDeadPhis() local 47 if (!use.GetUser()->IsPhi()) { in MarkDeadPhis() 96 for (const HUseListNode<HInstruction*>& use : phi->GetUses()) { in EliminateDeadPhis() local 97 HInstruction* user = use.GetUser(); in EliminateDeadPhis() 105 for (const HUseListNode<HEnvironment*>& use : phi->GetEnvUses()) { in EliminateDeadPhis() local 106 HEnvironment* user = use.GetUser(); in EliminateDeadPhis() 107 user->SetRawEnvAt(use.GetIndex(), nullptr); in EliminateDeadPhis() 231 for (const HUseListNode<HInstruction*>& use : current->GetUses()) { in Run() local 232 HInstruction* user = use.GetUser(); in Run()
|
D | escape.cc | 41 for (const HUseListNode<HInstruction*>& use : reference->GetUses()) { in CalculateEscape() local 42 HInstruction* user = use.GetUser(); in CalculateEscape() 82 for (const HUseListNode<HEnvironment*>& use : reference->GetEnvUses()) { in CalculateEscape() local 83 HEnvironment* user = use.GetUser(); in CalculateEscape()
|
D | register_allocation_resolver.cc | 311 UsePosition* use = current->GetFirstUse(); in ConnectSiblings() local 324 while (use != nullptr && use->GetPosition() < range->GetStart()) { in ConnectSiblings() 325 DCHECK(use->IsSynthesized()); in ConnectSiblings() 326 use = use->GetNext(); in ConnectSiblings() 328 while (use != nullptr && use->GetPosition() <= range->GetEnd()) { in ConnectSiblings() 329 DCHECK(current->CoversSlow(use->GetPosition()) || (use->GetPosition() == range->GetEnd())); in ConnectSiblings() 330 if (!use->IsSynthesized()) { in ConnectSiblings() 331 LocationSummary* locations = use->GetUser()->GetLocations(); in ConnectSiblings() 332 Location expected_location = locations->InAt(use->GetInputIndex()); in ConnectSiblings() 337 locations->SetInAt(use->GetInputIndex(), source); in ConnectSiblings() [all …]
|
D | ssa_liveness_analysis.cc | 214 for (const HUseListNode<HInstruction*>& use : current->GetUses()) { in ComputeLiveRanges() local 215 HInstruction* user = use.GetUser(); in ComputeLiveRanges() 216 size_t index = use.GetIndex(); in ComputeLiveRanges() 359 UsePosition* use = first_use_; in FindFirstRegisterHint() local 362 while (use != nullptr && use->GetPosition() <= end) { in FindFirstRegisterHint() 363 size_t use_position = use->GetPosition(); in FindFirstRegisterHint() 364 if (use_position >= start && !use->IsSynthesized()) { in FindFirstRegisterHint() 365 HInstruction* user = use->GetUser(); in FindFirstRegisterHint() 366 size_t input_index = use->GetInputIndex(); in FindFirstRegisterHint() 398 Location expected = locations->InAt(use->GetInputIndex()); in FindFirstRegisterHint() [all …]
|
D | ssa_liveness_analysis.h | 531 UsePosition* use = first_use_; in FirstRegisterUseAfter() local 533 while (use != nullptr && use->GetPosition() <= end) { in FirstRegisterUseAfter() 534 size_t use_position = use->GetPosition(); in FirstRegisterUseAfter() 536 if (use->RequiresRegister()) { in FirstRegisterUseAfter() 540 use = use->GetNext(); in FirstRegisterUseAfter() 567 UsePosition* use = first_use_; in FirstUseAfter() local 569 while (use != nullptr && use->GetPosition() <= end) { in FirstUseAfter() 570 size_t use_position = use->GetPosition(); in FirstUseAfter() 574 use = use->GetNext(); in FirstUseAfter() 721 const UsePosition* use = first_use_; in Dump() local [all …]
|
D | register_allocator_graph_color.cc | 181 UsePosition* use = interval->GetFirstUse(); in ComputeSpillWeight() local 182 while (use != nullptr && use->GetPosition() <= interval->GetStart()) { in ComputeSpillWeight() 184 use = use->GetNext(); in ComputeSpillWeight() 187 while (use != nullptr && use->GetPosition() <= interval->GetEnd()) { in ComputeSpillWeight() 188 if (use->GetUser() != nullptr && use->RequiresRegister()) { in ComputeSpillWeight() 190 use_weight += CostForMoveAt(use->GetUser()->GetLifetimePosition() - 1, liveness); in ComputeSpillWeight() 192 use = use->GetNext(); in ComputeSpillWeight() 992 UsePosition* use = interval->GetFirstUse(); in SplitAtRegisterUses() local 993 while (use != nullptr && use->GetPosition() < interval->GetStart()) { in SplitAtRegisterUses() 994 use = use->GetNext(); in SplitAtRegisterUses() [all …]
|
/art/test/552-checker-primitive-typeprop/smali/ |
D | TypePropagation.smali | 4 # you may not use this file except in compliance with the License. 33 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 46 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 63 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 75 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 87 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 100 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 112 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 134 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use
|
D | ArrayGet.smali | 4 # you may not use this file except in compliance with the License. 36 add-float v2, v0, v1 # float use fixes type 44 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 64 add-float v2, v0, v1 # float use fixes type 71 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 94 add-int v2, v0, v1 # int use fixes type 102 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 124 aget v0, p0, v0 # read value, should be float but has no typed use 133 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use 154 aget v0, p0, v0 # read value, should be int but has no typed use [all …]
|
/art/test/531-regression-debugphi/smali/ |
D | TestCase.smali | 4 # you may not use this file except in compliance with the License. 51 invoke-static {}, Ljava/lang/System;->nanoTime()J # env use of both PhiA equivalents 60 invoke-static {}, Ljava/lang/System;->nanoTime()J # env use of PhiB 76 # - PrimInt PhiA: update inputs, set to PrimNot, use instead of PrimNot PhiA 101 invoke-static {}, Ljava/lang/System;->nanoTime()J # env use of both PhiA equivalents 107 invoke-static {}, Ljava/lang/System;->nanoTime()J # env use of both PhiB equivalents
|
/art/test/537-checker-debuggable/smali/ |
D | TestCase.smali | 4 # you may not use this file except in compliance with the License. 19 # The phi in this method has no actual uses but one environment use. It will 38 invoke-static {}, Ljava/lang/System;->nanoTime()J # create an env use
|
/art/runtime/base/unix_file/ |
D | README | 3 This is intended to be lightweight and easy to use, similar to Java's 5 don't pay for what you don't use" apply.
|
/art/test/594-checker-irreducible-linorder/smali/ |
D | IrreducibleLoop.smali | 4 # you may not use this file except in compliance with the License. 99 # This constant has a use in a phi in :back_edge2 and a back edge use in 100 # :back_edge1. Because the linear order is wrong, the back edge use has 101 # a lower liveness than the phi use.
|
/art/test/638-checker-inline-caches/ |
D | info.txt | 1 Verify the use of inline caches in AOT mode.
|
/art/test/566-checker-codegen-select/ |
D | info.txt | 1 Test the use positions of inputs of non-materialized conditions.
|
/art/test/565-checker-condition-liveness/ |
D | info.txt | 1 Test the use positions of inputs of non-materialized conditions.
|
/art/test/960-default-smali/ |
D | info.txt | 7 use the tools/extract-embedded-java script to turn the smali into equivalent 19 …JAVA_HOME="/path/to/java-8-jdk" ../run-test --use-java-home --update --jvm --host 956-default-smali
|
/art/test/647-sinking-catch/ |
D | info.txt | 2 to incorrectly use catch phis.
|
/art/test/615-checker-arm64-store-zero/ |
D | info.txt | 1 Checker test to verify we correctly use wzr and xzr to store zero constants.
|
/art/test/642-fp-callees/ |
D | info.txt | 2 use D14 as a temporary register.
|