/art/compiler/optimizing/ |
D | instruction_simplifier_arm64.cc | 45 bool TryMergeIntoShifterOperand(HInstruction* use, 48 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in CanMergeIntoShifterOperand() argument 49 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ false); in CanMergeIntoShifterOperand() 51 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in MergeIntoShifterOperand() argument 52 DCHECK(CanMergeIntoShifterOperand(use, bitfield_op)); in MergeIntoShifterOperand() 53 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ true); in MergeIntoShifterOperand() 90 bool InstructionSimplifierArm64Visitor::TryMergeIntoShifterOperand(HInstruction* use, in TryMergeIntoShifterOperand() argument 93 DCHECK(HasShifterOperand(use, InstructionSet::kArm64)); in TryMergeIntoShifterOperand() 94 DCHECK(use->IsBinaryOperation() || use->IsNeg()); in TryMergeIntoShifterOperand() 98 DataType::Type type = use->GetType(); in TryMergeIntoShifterOperand() [all …]
|
D | instruction_simplifier_arm.cc | 45 bool TryMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op, bool do_merge); 46 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in CanMergeIntoShifterOperand() argument 47 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ false); in CanMergeIntoShifterOperand() 49 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { in MergeIntoShifterOperand() argument 50 DCHECK(CanMergeIntoShifterOperand(use, bitfield_op)); in MergeIntoShifterOperand() 51 return TryMergeIntoShifterOperand(use, bitfield_op, /* do_merge= */ true); in MergeIntoShifterOperand() 84 bool InstructionSimplifierArmVisitor::TryMergeIntoShifterOperand(HInstruction* use, in TryMergeIntoShifterOperand() argument 87 DCHECK(HasShifterOperand(use, InstructionSet::kArm)); in TryMergeIntoShifterOperand() 88 DCHECK(use->IsBinaryOperation()); in TryMergeIntoShifterOperand() 92 DataType::Type type = use->GetType(); in TryMergeIntoShifterOperand() [all …]
|
D | code_sinking.cc | 184 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in FindIdealPosition() local 185 HInstruction* user = use.GetUser(); in FindIdealPosition() 193 : block->GetPredecessors()[use.GetIndex()]; in FindIdealPosition() 198 for (const HUseListNode<HEnvironment*>& use : instruction->GetEnvUses()) { in FindIdealPosition() local 199 DCHECK(!use.GetUser()->GetHolder()->IsPhi()); in FindIdealPosition() 200 DCHECK(!filter || !ShouldFilterUse(instruction, use.GetUser()->GetHolder(), post_dominated)); in FindIdealPosition() 201 finder.Update(use.GetUser()->GetHolder()->GetBlock()); in FindIdealPosition() 226 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in FindIdealPosition() local 227 if (use.GetUser()->GetBlock() == target_block && in FindIdealPosition() 228 (insert_pos == nullptr || use.GetUser()->StrictlyDominates(insert_pos))) { in FindIdealPosition() [all …]
|
D | ssa_phi_elimination.cc | 55 for (const HUseListNode<HInstruction*>& use : phi->GetUses()) { in MarkDeadPhis() local 56 if (!use.GetUser()->IsPhi()) { in MarkDeadPhis() 105 for (const HUseListNode<HInstruction*>& use : phi->GetUses()) { in EliminateDeadPhis() local 106 HInstruction* user = use.GetUser(); in EliminateDeadPhis() 114 for (const HUseListNode<HEnvironment*>& use : phi->GetEnvUses()) { in EliminateDeadPhis() local 115 HEnvironment* user = use.GetUser(); in EliminateDeadPhis() 116 user->SetRawEnvAt(use.GetIndex(), nullptr); in EliminateDeadPhis() 248 for (const HUseListNode<HInstruction*>& use : current->GetUses()) { in Run() local 249 HInstruction* user = use.GetUser(); in Run()
|
D | escape.cc | 47 for (const HUseListNode<HInstruction*>& use : reference->GetUses()) { in CalculateEscape() local 48 HInstruction* user = use.GetUser(); in CalculateEscape() 90 for (const HUseListNode<HEnvironment*>& use : reference->GetEnvUses()) { in CalculateEscape() local 91 HEnvironment* user = use.GetUser(); in CalculateEscape()
|
D | instruction_simplifier_shared.cc | 111 HInstruction* use = mul->GetUses().front().GetUser(); in TryCombineMultiplyAccumulate() local 112 if (use->IsAdd() || use->IsSub()) { in TryCombineMultiplyAccumulate() 125 HBinaryOperation* binop = use->AsBinaryOperation(); in TryCombineMultiplyAccumulate() 133 } else if (use->IsAdd()) { in TryCombineMultiplyAccumulate() 151 } else if (use->IsNeg() && isa != InstructionSet::kArm) { in TryCombineMultiplyAccumulate() 159 use->GetBlock()->ReplaceAndRemoveInstructionWith(use, mulacc); in TryCombineMultiplyAccumulate() 300 for (const HUseListNode<HInstruction*>& use : index->GetUses()) { in TryExtractVecArrayAccessAddress() local 301 HInstruction* user = use.GetUser(); in TryExtractVecArrayAccessAddress()
|
D | load_store_elimination.cc | 133 for (const HUseListNode<HInstruction*>& use : value->GetUses()) { in FindOrAddTypeConversionIfNecessary() local 134 if (use.GetUser()->IsTypeConversion() && in FindOrAddTypeConversionIfNecessary() 135 use.GetUser()->GetType() == expected_type && in FindOrAddTypeConversionIfNecessary() 138 use.GetUser()->GetBlock()->Dominates(instruction->GetBlock()) && in FindOrAddTypeConversionIfNecessary() 141 (use.GetUser()->GetBlock() == instruction->GetBlock() || in FindOrAddTypeConversionIfNecessary() 143 if (use.GetUser()->GetBlock() == instruction->GetBlock() && in FindOrAddTypeConversionIfNecessary() 144 use.GetUser()->GetBlock()->GetInstructions().FoundBefore(instruction, use.GetUser())) { in FindOrAddTypeConversionIfNecessary() 146 use.GetUser()->MoveBefore(instruction); in FindOrAddTypeConversionIfNecessary() 148 DCHECK(use.GetUser()->StrictlyDominates(instruction)); in FindOrAddTypeConversionIfNecessary() 149 return use.GetUser()->AsTypeConversion(); in FindOrAddTypeConversionIfNecessary() [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/tools/jvmti-agents/jit-load/ |
D | README.md | 10 …uilt for 32-bit, 64-bit, host and target. Below examples assume you want to use the 64-bit version. 16 * If using `libartd.so`, make sure to use the debug version of jvmti and agent. 22 * To use with run-test or testrunner.py use the --with-agent argument.
|
/art/tools/jvmti-agents/dump-jvmti-state/ |
D | README.md | 4 allows one to use SIGQUIT to dump information about the current JVMTI state to logcat. It does 12 assume you want to use the 64-bit version. 19 * If using `libartd.so`, make sure to use the debug version of jvmti.
|
/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/libartbase/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/677-fsi2/ |
D | info.txt | 1 Test that -Xonly-use-system-oat-files works.
|
/art/test/638-checker-inline-caches/ |
D | info.txt | 1 Verify the use of inline caches in AOT mode.
|
/art/test/998-redefine-use-after-free/ |
D | info.txt | 3 It was possible for the JVMTI class redefinition to encounter a use-after-free 9 Hitting this use-after-free can cause many strange outcomes, from CHECK failures
|
/art/test/566-checker-codegen-select/ |
D | info.txt | 1 Test the use positions of inputs of non-materialized conditions.
|
/art/test/1923-frame-pop/ |
D | info.txt | 3 This tests the normal use case.
|
/art/test/1926-missed-frame-pop/ |
D | info.txt | 3 This tests the normal use case.
|
/art/test/676-proxy-jit-at-first-use/ |
D | info.txt | 1 Regression test for "jit at first use" (-Xjitthreshold:0) crash for proxy methods. b/73718713
|
/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/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/647-sinking-catch/ |
D | info.txt | 2 to incorrectly use catch phis.
|
/art/test/642-fp-callees/ |
D | info.txt | 2 use D14 as a temporary register.
|