/art/compiler/optimizing/ |
H A D | constant_folding.cc | 30 void VisitAnd(HAnd* instruction) OVERRIDE; 31 void VisitMul(HMul* instruction) OVERRIDE; 32 void VisitOr(HOr* instruction) OVERRIDE; 33 void VisitRem(HRem* instruction) OVERRIDE; 34 void VisitShl(HShl* instruction) OVERRIDE; 35 void VisitShr(HShr* instruction) OVERRIDE; 36 void VisitSub(HSub* instruction) OVERRIDE; 37 void VisitUShr(HUShr* instruction) OVERRIDE; 38 void VisitXor(HXor* instruction) OVERRIDE; 44 // so that an instruction turne 86 VisitShift(HBinaryOperation* instruction) argument 99 VisitAnd(HAnd* instruction) argument 111 VisitMul(HMul* instruction) argument 128 VisitOr(HOr* instruction) argument 145 VisitRem(HRem* instruction) argument 181 VisitShl(HShl* instruction) argument 185 VisitShr(HShr* instruction) argument 189 VisitSub(HSub* instruction) argument 214 VisitUShr(HUShr* instruction) argument 218 VisitXor(HXor* instruction) argument [all...] |
H A D | instruction_simplifier.cc | 49 void VisitTypeConversion(HTypeConversion* instruction) OVERRIDE; 50 void VisitNullCheck(HNullCheck* instruction) OVERRIDE; 51 void VisitArrayLength(HArrayLength* instruction) OVERRIDE; 52 void VisitCheckCast(HCheckCast* instruction) OVERRIDE; 53 void VisitAdd(HAdd* instruction) OVERRIDE; 54 void VisitAnd(HAnd* instruction) OVERRIDE; 55 void VisitDiv(HDiv* instruction) OVERRIDE; 56 void VisitMul(HMul* instruction) OVERRIDE; 57 void VisitNeg(HNeg* instruction) OVERRIDE; 58 void VisitNot(HNot* instruction) OVERRID 135 VisitShift(HBinaryOperation* instruction) argument 196 VisitInstanceOf(HInstanceOf* instruction) argument 277 VisitArrayLength(HArrayLength* instruction) argument 289 VisitArraySet(HArraySet* instruction) argument 301 VisitTypeConversion(HTypeConversion* instruction) argument 309 VisitAdd(HAdd* instruction) argument 357 VisitAnd(HAnd* instruction) argument 384 VisitDiv(HDiv* instruction) argument 438 VisitMul(HMul* instruction) argument 509 VisitNeg(HNeg* instruction) argument 554 VisitNot(HNot* instruction) argument 575 VisitOr(HOr* instruction) argument 602 VisitShl(HShl* instruction) argument 606 VisitShr(HShr* instruction) argument 610 VisitSub(HSub* instruction) argument 692 VisitUShr(HUShr* instruction) argument 696 VisitXor(HXor* instruction) argument [all...] |
H A D | locations.cc | 23 LocationSummary::LocationSummary(HInstruction* instruction, argument 26 : inputs_(instruction->GetBlock()->GetGraph()->GetArena(), instruction->InputCount()), 27 temps_(instruction->GetBlock()->GetGraph()->GetArena(), 0), 34 inputs_.SetSize(instruction->InputCount()); 35 for (size_t i = 0; i < instruction->InputCount(); ++i) { 38 instruction->SetLocations(this); 41 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetArena(); 47 Location Location::RegisterOrConstant(HInstruction* instruction) { argument 48 return instruction 53 RegisterOrInt32LongConstant(HInstruction* instruction) argument 66 ByteRegisterOrConstant(int reg, HInstruction* instruction) argument [all...] |
H A D | licm.cc | 22 static bool IsPhiOf(HInstruction* instruction, HBasicBlock* block) { argument 23 return instruction->IsPhi() && instruction->GetBlock() == block; 27 * Returns whether `instruction` has all its inputs and environment defined 30 static bool InputsAreDefinedBeforeLoop(HInstruction* instruction) { argument 31 DCHECK(instruction->IsInLoop()); 32 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation(); 33 for (HInputIterator it(instruction); !it.Done(); it.Advance()) { 42 for (HEnvironment* environment = instruction->GetEnvironment(); 50 // We can move an instruction tha 115 HInstruction* instruction = inst_it.Current(); local [all...] |
H A D | builder.cc | 39 * converting a DEX instruction to multiple HInstruction, and where those 40 * instructions do not die at the following instruction, but instead spans 47 void Add(HInstruction* instruction) { argument 49 instruction->GetBlock()->AddInstruction(temp); 51 DCHECK(temp->GetPrevious() == instruction); 54 if (instruction->GetType() == Primitive::kPrimLong 55 || instruction->GetType() == Primitive::kPrimDouble) { 74 SwitchTable(const Instruction& instruction, uint32_t dex_pc, bool sparse) argument 75 : instruction_(instruction), dex_pc_(dex_pc), sparse_(sparse) { 76 int32_t table_offset = instruction 191 If_22t(const Instruction& instruction, uint32_t dex_pc) argument 210 If_21t(const Instruction& instruction, uint32_t dex_pc) argument 320 const Instruction& instruction = *Instruction::At(code_ptr); local 369 const Instruction& instruction = *Instruction::At(code_ptr); local 442 Unop_12x(const Instruction& instruction, Primitive::Type type) argument 448 Conversion_12x(const Instruction& instruction, Primitive::Type input_type, Primitive::Type result_type, uint32_t dex_pc) argument 458 Binop_23x(const Instruction& instruction, Primitive::Type type) argument 466 Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 476 Binop_23x_shift(const Instruction& instruction, Primitive::Type type) argument 484 Binop_23x_cmp(const Instruction& instruction, Primitive::Type type, HCompare::Bias bias, uint32_t dex_pc) argument 495 Binop_12x(const Instruction& instruction, Primitive::Type type) argument 503 Binop_12x_shift(const Instruction& instruction, Primitive::Type type) argument 511 Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc) argument 521 Binop_22s(const Instruction& instruction, bool reverse) argument 532 Binop_22b(const Instruction& instruction, bool reverse) argument 553 BuildReturn(const Instruction& instruction, Primitive::Type type) argument 569 BuildInvoke(const Instruction& instruction, uint32_t dex_pc, uint32_t method_idx, uint32_t number_of_vreg_arguments, bool is_range, uint32_t* args, uint32_t register_index) argument 826 BuildInstanceFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument 905 BuildStaticFieldAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put) argument 1022 BuildArrayAccess(const Instruction& instruction, uint32_t dex_pc, bool is_put, Primitive::Type anticipated_type) argument 1104 BuildFillArrayData(const Instruction& instruction, uint32_t dex_pc) argument 1171 BuildTypeCheck(const Instruction& instruction, uint8_t destination, uint8_t reference, uint16_t type_index, uint32_t dex_pc) argument 1214 BuildPackedSwitch(const Instruction& instruction, uint32_t dex_pc) argument 1239 BuildSparseSwitch(const Instruction& instruction, uint32_t dex_pc) argument 1257 BuildSwitchCaseHelper(const Instruction& instruction, size_t index, bool is_last_case, const SwitchTable& table, HInstruction* value, int32_t case_value_int, int32_t target_offset, uint32_t dex_pc) argument 1316 AnalyzeDexInstruction(const Instruction& instruction, uint32_t dex_pc) argument [all...] |
H A D | builder.h | 82 // Analyzes the dex instruction and adds HInstruction to the graph 83 // to execute that instruction. Returns whether the instruction can 85 bool AnalyzeDexInstruction(const Instruction& instruction, uint32_t dex_pc); 102 void UpdateLocal(int register_index, HInstruction* instruction) const; 109 void Unop_12x(const Instruction& instruction, Primitive::Type type); 112 void Binop_23x(const Instruction& instruction, Primitive::Type type); 115 void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); 118 void Binop_23x_shift(const Instruction& instruction, Primitive::Type type); 120 void Binop_23x_cmp(const Instruction& instruction, [all...] |
H A D | pretty_printer.h | 29 void PrintPreInstruction(HInstruction* instruction) { argument 31 PrintInt(instruction->GetId()); 35 void VisitInstruction(HInstruction* instruction) OVERRIDE { 36 PrintPreInstruction(instruction); variable 37 PrintString(instruction->DebugName()); 38 PrintPostInstruction(instruction); variable 41 void PrintPostInstruction(HInstruction* instruction) { argument 42 if (instruction->InputCount() != 0) { 45 for (HInputIterator it(instruction); !it.Done(); it.Advance()) { 55 if (instruction [all...] |
H A D | graph_checker.cc | 83 // Ensure `block` ends with a branch instruction. 85 AddError(StringPrintf("Block %d does not end with a branch instruction.", 115 AddError(StringPrintf("The recorded last instruction of block %d does not match " 116 "the actual last instruction %d.", 132 // Perform the instruction base checks too. 136 void GraphChecker::VisitInstruction(HInstruction* instruction) { argument 137 if (seen_ids_.IsBitSet(instruction->GetId())) { 139 instruction->GetId())); 141 seen_ids_.SetBit(instruction->GetId()); 144 // Ensure `instruction` i 268 VisitInstanceOf(HInstanceOf* instruction) argument 396 VisitInstruction(HInstruction* instruction) argument 500 HandleBooleanInput(HInstruction* instruction, size_t input_index) argument 526 VisitIf(HIf* instruction) argument 531 VisitBooleanNot(HBooleanNot* instruction) argument 608 VisitConstant(HConstant* instruction) argument [all...] |
H A D | graph_visualizer.cc | 161 void VisitParallelMove(HParallelMove* instruction) OVERRIDE { 163 for (size_t i = 0, e = instruction->NumMoves(); i < e; ++i) { 164 MoveOperands* move = instruction->MoveOperandsAt(i); 173 output_ << " (liveness: " << instruction->GetLifetimePosition() << ")"; 176 void VisitIntConstant(HIntConstant* instruction) OVERRIDE { 177 output_ << " " << instruction->GetValue(); 180 void VisitLongConstant(HLongConstant* instruction) OVERRIDE { 181 output_ << " " << instruction->GetValue(); 184 void VisitFloatConstant(HFloatConstant* instruction) OVERRIDE { 185 output_ << " " << instruction 204 PrintInstruction(HInstruction* instruction) argument 272 HInstruction* instruction = it.Current(); local 321 HInstruction* instruction = it.Current(); variable [all...] |
H A D | primitive_type_propagation.cc | 40 // Re-compute and update the type of the instruction. Returns 112 HPhi* instruction = worklist_.Pop(); local 113 if (UpdateType(instruction)) { 114 AddDependentInstructionsToWorklist(instruction); 119 void PrimitiveTypePropagation::AddToWorklist(HPhi* instruction) { argument 120 DCHECK(instruction->IsLive()); 121 worklist_.Add(instruction); 124 void PrimitiveTypePropagation::AddDependentInstructionsToWorklist(HInstruction* instruction) { argument 125 for (HUseIterator<HInstruction*> it(instruction->GetUses()); !it.Done(); it.Advance()) { 127 if (phi != nullptr && phi->IsLive() && phi->GetType() != instruction [all...] |
H A D | graph_checker.h | 42 // Check `instruction`. 43 void VisitInstruction(HInstruction* instruction) OVERRIDE; 45 // Perform control-flow graph checks on instruction. 116 void VisitInstruction(HInstruction* instruction) OVERRIDE; 120 void VisitIf(HIf* instruction) OVERRIDE; 121 void VisitBooleanNot(HBooleanNot* instruction) OVERRIDE; 122 void VisitConstant(HConstant* instruction) OVERRIDE; 124 void HandleBooleanInput(HInstruction* instruction, size_t input_index);
|
H A D | code_generator_arm64.cc | 109 BoundsCheckSlowPathARM64(HBoundsCheck* instruction, argument 112 : instruction_(instruction), 141 explicit DivZeroCheckSlowPathARM64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument 200 // The instruction where this slow path is happening. 215 explicit LoadStringSlowPathARM64(HLoadString* instruction) : instruction_(instruction) {} argument 263 explicit SuspendCheckSlowPathARM64(HSuspendCheck* instruction, argument 265 : instruction_(instruction), successor_(successor) {} 304 TypeCheckSlowPathARM64(HInstruction* instruction, argument 358 DeoptimizationSlowPathARM64(HInstruction* instruction) argument 535 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument 843 LoadAcquire(HInstruction* instruction, CPURegister dst, const MemOperand& src) argument 974 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument 1037 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 1125 HandleFieldGet(HInstruction* instruction) argument 1136 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 1160 HandleFieldSet(HInstruction* instruction) argument 1171 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 1301 VisitAdd(HAdd* instruction) argument 1305 VisitAdd(HAdd* instruction) argument 1309 VisitAnd(HAnd* instruction) argument 1313 VisitAnd(HAnd* instruction) argument 1317 VisitArrayGet(HArrayGet* instruction) argument 1329 VisitArrayGet(HArrayGet* instruction) argument 1354 VisitArrayLength(HArrayLength* instruction) argument 1360 VisitArrayLength(HArrayLength* instruction) argument 1367 VisitArraySet(HArraySet* instruction) argument 1388 VisitArraySet(HArraySet* instruction) argument 1395 QUICK_ENTRY_POINT(pAputObject), instruction, instruction->GetDexPc(), nullptr); local 1429 VisitBoundsCheck(HBoundsCheck* instruction) argument 1439 VisitBoundsCheck(HBoundsCheck* instruction) argument 1449 VisitCheckCast(HCheckCast* instruction) argument 1457 VisitCheckCast(HCheckCast* instruction) argument 1569 VisitCondition(HCondition* instruction) argument 1578 VisitCondition(HCondition* instruction) argument 1648 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 1657 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 1737 GenerateTestAndBranch(HInstruction* instruction, vixl::Label* true_target, vixl::Label* false_target, vixl::Label* always_true_target) argument 1837 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 1841 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 1845 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 1849 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 1853 VisitInstanceOf(HInstanceOf* instruction) argument 1863 VisitInstanceOf(HInstanceOf* instruction) argument 2135 VisitLoadException(HLoadException* instruction) argument 2187 VisitMonitorOperation(HMonitorOperation* instruction) argument 2194 VisitMonitorOperation(HMonitorOperation* instruction) argument 2281 VisitNewArray(HNewArray* instruction) argument 2293 VisitNewArray(HNewArray* instruction) argument 2310 VisitNewInstance(HNewInstance* instruction) argument 2320 VisitNewInstance(HNewInstance* instruction) argument 2336 VisitNot(HNot* instruction) argument 2342 VisitNot(HNot* instruction) argument 2354 VisitBooleanNot(HBooleanNot* instruction) argument 2360 VisitBooleanNot(HBooleanNot* instruction) argument 2364 VisitNullCheck(HNullCheck* instruction) argument 2373 GenerateImplicitNullCheck(HNullCheck* instruction) argument 2384 GenerateExplicitNullCheck(HNullCheck* instruction) argument 2394 VisitNullCheck(HNullCheck* instruction) argument 2402 VisitOr(HOr* instruction) argument 2406 VisitOr(HOr* instruction) argument 2414 VisitParallelMove(HParallelMove* instruction) argument 2418 VisitParameterValue(HParameterValue* instruction) argument 2429 VisitParameterValue(HParameterValue* instruction) argument 2434 VisitPhi(HPhi* instruction) argument 2442 VisitPhi(HPhi* instruction) argument 2514 VisitReturn(HReturn* instruction) argument 2520 VisitReturn(HReturn* instruction) argument 2525 VisitReturnVoid(HReturnVoid* instruction) argument 2529 VisitReturnVoid(HReturnVoid* instruction) argument 2578 VisitSub(HSub* instruction) argument 2582 VisitSub(HSub* instruction) argument 2586 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 2590 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 2594 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 2598 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 2602 VisitSuspendCheck(HSuspendCheck* instruction) argument 2606 VisitSuspendCheck(HSuspendCheck* instruction) argument 2629 VisitThrow(HThrow* instruction) argument 2636 VisitThrow(HThrow* instruction) argument 2638 QUICK_ENTRY_POINT(pDeliverException), instruction, instruction->GetDexPc(), nullptr); local 2708 VisitXor(HXor* instruction) argument 2712 VisitXor(HXor* instruction) argument 2716 VisitBoundType(HBoundType* instruction) argument 2722 VisitBoundType(HBoundType* instruction) argument [all...] |
H A D | code_generator_mips64.cc | 111 BoundsCheckSlowPathMIPS64(HBoundsCheck* instruction, argument 114 : instruction_(instruction), 147 explicit DivZeroCheckSlowPathMIPS64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument 208 // The instruction where this slow path is happening. 223 explicit LoadStringSlowPathMIPS64(HLoadString* instruction) : instruction_(instruction) {} argument 277 explicit SuspendCheckSlowPathMIPS64(HSuspendCheck* instruction, argument 279 : instruction_(instruction), successor_(successor) {} 316 TypeCheckSlowPathMIPS64(HInstruction* instruction, argument 377 DeoptimizationSlowPathMIPS64(HInstruction* instruction) argument 784 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument 955 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument 983 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 1009 HandleBinaryOp(HBinaryOperation* instruction) argument 1050 HandleBinaryOp(HBinaryOperation* instruction) argument 1236 VisitAdd(HAdd* instruction) argument 1240 VisitAdd(HAdd* instruction) argument 1244 VisitAnd(HAnd* instruction) argument 1248 VisitAnd(HAnd* instruction) argument 1252 VisitArrayGet(HArrayGet* instruction) argument 1264 VisitArrayGet(HArrayGet* instruction) argument 1399 VisitArrayLength(HArrayLength* instruction) argument 1405 VisitArrayLength(HArrayLength* instruction) argument 1414 VisitArraySet(HArraySet* instruction) argument 1436 VisitArraySet(HArraySet* instruction) argument 1500 instruction, local 1565 VisitBoundsCheck(HBoundsCheck* instruction) argument 1575 VisitBoundsCheck(HBoundsCheck* instruction) argument 1597 VisitCheckCast(HCheckCast* instruction) argument 1606 VisitCheckCast(HCheckCast* instruction) argument 1678 VisitCompare(HCompare* instruction) argument 1716 VisitCondition(HCondition* instruction) argument 1725 VisitCondition(HCondition* instruction) argument 1833 VisitDiv(HDiv* instruction) argument 1865 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 1874 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 1950 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument 2100 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info ATTRIBUTE_UNUSED) argument 2112 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 2160 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info ATTRIBUTE_UNUSED) argument 2172 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 2219 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 2223 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 2227 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 2231 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 2235 VisitInstanceOf(HInstanceOf* instruction) argument 2245 VisitInstanceOf(HInstanceOf* instruction) argument 2569 VisitMonitorOperation(HMonitorOperation* instruction) argument 2576 VisitMonitorOperation(HMonitorOperation* instruction) argument 2609 VisitMul(HMul* instruction) argument 2662 VisitNeg(HNeg* instruction) argument 2692 VisitNewArray(HNewArray* instruction) argument 2702 VisitNewArray(HNewArray* instruction) argument 2715 VisitNewInstance(HNewInstance* instruction) argument 2724 VisitNewInstance(HNewInstance* instruction) argument 2737 VisitNot(HNot* instruction) argument 2743 VisitNot(HNot* instruction) argument 2761 VisitBooleanNot(HBooleanNot* instruction) argument 2767 VisitBooleanNot(HBooleanNot* instruction) argument 2774 VisitNullCheck(HNullCheck* instruction) argument 2783 GenerateImplicitNullCheck(HNullCheck* instruction) argument 2793 GenerateExplicitNullCheck(HNullCheck* instruction) argument 2802 VisitNullCheck(HNullCheck* instruction) argument 2810 VisitOr(HOr* instruction) argument 2814 VisitOr(HOr* instruction) argument 2822 VisitParallelMove(HParallelMove* instruction) argument 2826 VisitParameterValue(HParameterValue* instruction) argument 2842 VisitPhi(HPhi* instruction) argument 2882 VisitRem(HRem* instruction) argument 2980 VisitSub(HSub* instruction) argument 2984 VisitSub(HSub* instruction) argument 2988 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 2992 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 2996 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3000 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3004 VisitSuspendCheck(HSuspendCheck* instruction) argument 3008 VisitSuspendCheck(HSuspendCheck* instruction) argument 3030 VisitThrow(HThrow* instruction) argument 3037 VisitThrow(HThrow* instruction) argument 3039 instruction, local 3183 VisitXor(HXor* instruction) argument 3187 VisitXor(HXor* instruction) argument [all...] |
H A D | nodes.cc | 37 static void RemoveAsUser(HInstruction* instruction) { argument 38 for (size_t i = 0; i < instruction->InputCount(); i++) { 39 instruction->RemoveAsUserOfInput(i); 42 for (HEnvironment* environment = instruction->GetEnvironment(); 296 // New constants are inserted before the final control-flow instruction 307 // not null and not in a block. Otherwise, we need to clear the instruction 456 static void UpdateInputsUsers(HInstruction* instruction) { argument 457 for (size_t i = 0, e = instruction->InputCount(); i < e; ++i) { 458 instruction->InputAt(i)->AddUseAt(instruction, 472 Add(HInstructionList* instruction_list, HBasicBlock* block, HInstruction* instruction) argument 483 AddInstruction(HInstruction* instruction) argument 491 InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) argument 504 InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) argument 528 Remove(HInstructionList* instruction_list, HBasicBlock* block, HInstruction* instruction, bool ensure_safety) argument 542 RemoveInstruction(HInstruction* instruction, bool ensure_safety) argument 551 RemoveInstructionOrPhi(HInstruction* instruction, bool ensure_safety) argument 561 HInstruction* instruction = locals.Get(i); local 571 HInstruction* instruction = env->GetInstructionAt(i); local 583 HInstruction* instruction = env->GetInstructionAt(i); local 622 AddInstruction(HInstruction* instruction) argument 633 InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) argument 647 InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) argument 661 RemoveInstruction(HInstruction* instruction) argument [all...] |
H A D | code_generator_x86.h | 130 void HandleBitwiseOperation(HBinaryOperation* instruction); 132 void HandleShift(HBinaryOperation* instruction); 133 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 134 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 161 void HandleBitwiseOperation(HBinaryOperation* instruction); 162 void GenerateDivRemIntegral(HBinaryOperation* instruction); 163 void DivRemOneOrMinusOne(HBinaryOperation* instruction); 164 void DivByPowerOfTwo(HDiv* instruction); 165 void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction); 167 void HandleShift(HBinaryOperation* instruction); [all...] |
H A D | ssa_builder.h | 36 * environment uses. Note that it does not imply the instruction will 77 void VisitInstruction(HInstruction* instruction); 78 void VisitTemporary(HTemporary* instruction); 81 HInstruction* instruction, 84 static HInstruction* GetReferenceTypeEquivalent(HInstruction* instruction);
|
H A D | bounds_check_elimination.cc | 31 ValueBound(HInstruction* instruction, int32_t constant) { argument 32 if (instruction != nullptr && instruction->IsIntConstant()) { 33 // Normalize ValueBound with constant instruction. 34 int32_t instr_const = instruction->AsIntConstant()->GetValue(); 41 instruction_ = instruction; 61 static bool IsAddOrSubAConstant(HInstruction* instruction, argument 64 if (instruction->IsAdd() || instruction->IsSub()) { 65 HBinaryOperation* bin_op = instruction 82 DetectValueBoundFromValue(HInstruction* instruction, bool* found) argument 129 FromArrayLengthToArray(HInstruction* instruction) argument 524 HInstruction* instruction = header->GetLastInstruction(); local 1147 LookupValueRange(HInstruction* instruction, HBasicBlock* basic_block) argument 1165 ApplyRangeFromComparison(HInstruction* instruction, HBasicBlock* basic_block, HBasicBlock* successor, ValueRange* range) argument 1188 HandleIfBetweenTwoMonotonicValueRanges(HIf* instruction, HInstruction* left, HInstruction* right, IfCondition cond, MonotonicValueRange* left_range, MonotonicValueRange* right_range) argument 1254 HandleIf(HIf* instruction, HInstruction* left, HInstruction* right, IfCondition cond) argument 1486 HInstruction* instruction = phi->InputAt(1); local 1529 VisitIf(HIf* instruction) argument 1646 FindAndHandlePartialArrayLength(HBinaryOperation* instruction) argument 1701 VisitAnd(HAnd* instruction) argument 1744 HInstruction* instruction = less_than_or_equal->InputAt(0); local [all...] |
H A D | code_generator_arm.cc | 61 explicit NullCheckSlowPathARM(HNullCheck* instruction) : instruction_(instruction) {} argument 77 explicit DivZeroCheckSlowPathARM(HDivZeroCheck* instruction) : instruction_(instruction) {} argument 93 SuspendCheckSlowPathARM(HSuspendCheck* instruction, HBasicBlock* successor) argument 94 : instruction_(instruction), successor_(successor) {} 132 BoundsCheckSlowPathARM(HBoundsCheck* instruction, argument 135 : instruction_(instruction), 202 // The instruction where this slow path is happening. 217 explicit LoadStringSlowPathARM(HLoadString* instruction) argument 245 TypeCheckSlowPathARM(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument 298 DeoptimizationSlowPathARM(HInstruction* instruction) argument 803 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument 887 InvokeRuntime(int32_t entry_point_offset, HInstruction* instruction, uint32_t dex_pc, SlowPathCode* slow_path) argument 936 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument 2403 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 2412 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 2599 VisitNewInstance(HNewInstance* instruction) argument 2608 VisitNewInstance(HNewInstance* instruction) argument 2618 VisitNewArray(HNewArray* instruction) argument 2628 VisitNewArray(HNewArray* instruction) argument 2638 VisitParameterValue(HParameterValue* instruction) argument 2650 VisitParameterValue(HParameterValue* instruction) argument 2769 VisitPhi(HPhi* instruction) argument 2778 VisitPhi(HPhi* instruction) argument 2815 GenerateWideAtomicStore(Register addr, uint32_t offset, Register value_lo, Register value_hi, Register temp1, Register temp2, HInstruction* instruction) argument 2838 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 2879 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 2977 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 3006 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 3091 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3095 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3099 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3103 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3107 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3111 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3115 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3119 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3123 VisitNullCheck(HNullCheck* instruction) argument 3132 GenerateImplicitNullCheck(HNullCheck* instruction) argument 3142 GenerateExplicitNullCheck(HNullCheck* instruction) argument 3153 VisitNullCheck(HNullCheck* instruction) argument 3161 VisitArrayGet(HArrayGet* instruction) argument 3173 VisitArrayGet(HArrayGet* instruction) argument 3300 VisitArraySet(HArraySet* instruction) argument 3331 VisitArraySet(HArraySet* instruction) argument 3395 instruction, local 3456 VisitArrayLength(HArrayLength* instruction) argument 3463 VisitArrayLength(HArrayLength* instruction) argument 3472 VisitBoundsCheck(HBoundsCheck* instruction) argument 3482 VisitBoundsCheck(HBoundsCheck* instruction) argument 3513 VisitParallelMove(HParallelMove* instruction) argument 3518 VisitParallelMove(HParallelMove* instruction) argument 3522 VisitSuspendCheck(HSuspendCheck* instruction) argument 3526 VisitSuspendCheck(HSuspendCheck* instruction) argument 3540 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 3885 VisitThrow(HThrow* instruction) argument 3892 VisitThrow(HThrow* instruction) argument 3894 QUICK_ENTRY_POINT(pDeliverException), instruction, instruction->GetDexPc(), nullptr); local 3897 VisitInstanceOf(HInstanceOf* instruction) argument 3908 VisitInstanceOf(HInstanceOf* instruction) argument 3953 VisitCheckCast(HCheckCast* instruction) argument 3961 VisitCheckCast(HCheckCast* instruction) argument 3984 VisitMonitorOperation(HMonitorOperation* instruction) argument 3991 VisitMonitorOperation(HMonitorOperation* instruction) argument 3999 VisitAnd(HAnd* instruction) argument 4000 VisitOr(HOr* instruction) argument 4001 VisitXor(HXor* instruction) argument 4003 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4013 VisitAnd(HAnd* instruction) argument 4017 VisitOr(HOr* instruction) argument 4021 VisitXor(HXor* instruction) argument 4025 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4113 VisitBoundType(HBoundType* instruction) argument 4119 VisitBoundType(HBoundType* instruction) argument [all...] |
H A D | gvn.cc | 31 * The `Lookup` method returns an equivalent instruction to the given instruction 77 // Adds an instruction in the set. 78 void Add(HInstruction* instruction) { argument 79 DCHECK(Lookup(instruction) == nullptr); 80 size_t hash_code = HashCode(instruction); 86 buckets_[index] = new (allocator_) Node(instruction, hash_code, buckets_[index]); 90 // If in the set, returns an equivalent instruction to the given instruction. 92 HInstruction* Lookup(HInstruction* instruction) cons 148 Node(HInstruction* instruction, size_t hash_code, Node* next) argument [all...] |
H A D | code_generator_x86.cc | 50 explicit NullCheckSlowPathX86(HNullCheck* instruction) : instruction_(instruction) {} argument 65 explicit DivZeroCheckSlowPathX86(HDivZeroCheck* instruction) : instruction_(instruction) {} argument 100 BoundsCheckSlowPathX86(HBoundsCheck* instruction, argument 103 : instruction_(instruction), 134 SuspendCheckSlowPathX86(HSuspendCheck* instruction, HBasicBlock* successor) argument 135 : instruction_(instruction), successor_(successor) {} 170 explicit LoadStringSlowPathX86(HLoadString* instruction) : instruction_(instruction) {} argument 249 TypeCheckSlowPathX86(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument 306 DeoptimizationSlowPathX86(HInstruction* instruction) argument 718 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument 836 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument 2334 DivRemOneOrMinusOne(HBinaryOperation* instruction) argument 2358 DivByPowerOfTwo(HDiv* instruction) argument 2381 GenerateDivRemWithAnyConstant(HBinaryOperation* instruction) argument 2460 GenerateDivRemIntegral(HBinaryOperation* instruction) argument 2674 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 2697 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 2960 VisitNewInstance(HNewInstance* instruction) argument 2969 VisitNewInstance(HNewInstance* instruction) argument 2980 VisitNewArray(HNewArray* instruction) argument 2990 VisitNewArray(HNewArray* instruction) argument 3001 VisitParameterValue(HParameterValue* instruction) argument 3013 VisitParameterValue(HParameterValue* instruction) argument 3159 VisitPhi(HPhi* instruction) argument 3168 VisitPhi(HPhi* instruction) argument 3243 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 3267 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 3347 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 3384 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 3466 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3470 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3474 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3478 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3482 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3486 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3490 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3494 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3498 VisitNullCheck(HNullCheck* instruction) argument 3510 GenerateImplicitNullCheck(HNullCheck* instruction) argument 3521 GenerateExplicitNullCheck(HNullCheck* instruction) argument 3541 VisitNullCheck(HNullCheck* instruction) argument 3549 VisitArrayGet(HArrayGet* instruction) argument 3565 VisitArrayGet(HArrayGet* instruction) argument 3686 VisitArraySet(HArraySet* instruction) argument 3732 VisitArraySet(HArraySet* instruction) argument 3899 VisitArrayLength(HArrayLength* instruction) argument 3906 VisitArrayLength(HArrayLength* instruction) argument 3915 VisitBoundsCheck(HBoundsCheck* instruction) argument 3925 VisitBoundsCheck(HBoundsCheck* instruction) argument 3974 VisitParallelMove(HParallelMove* instruction) argument 3979 VisitParallelMove(HParallelMove* instruction) argument 3983 VisitSuspendCheck(HSuspendCheck* instruction) argument 3987 VisitSuspendCheck(HSuspendCheck* instruction) argument 4001 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 4361 VisitThrow(HThrow* instruction) argument 4368 VisitThrow(HThrow* instruction) argument 4373 VisitInstanceOf(HInstanceOf* instruction) argument 4383 VisitInstanceOf(HInstanceOf* instruction) argument 4434 VisitCheckCast(HCheckCast* instruction) argument 4442 VisitCheckCast(HCheckCast* instruction) argument 4471 VisitMonitorOperation(HMonitorOperation* instruction) argument 4478 VisitMonitorOperation(HMonitorOperation* instruction) argument 4485 VisitAnd(HAnd* instruction) argument 4486 VisitOr(HOr* instruction) argument 4487 VisitXor(HXor* instruction) argument 4489 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4499 VisitAnd(HAnd* instruction) argument 4503 VisitOr(HOr* instruction) argument 4507 VisitXor(HXor* instruction) argument 4511 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4618 VisitBoundType(HBoundType* instruction) argument 4624 VisitBoundType(HBoundType* instruction) argument [all...] |
H A D | code_generator_x86_64.h | 143 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 144 void HandleFieldGet(HInstruction* instruction); 169 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor); 173 void DivRemOneOrMinusOne(HBinaryOperation* instruction); 174 void DivByPowerOfTwo(HDiv* instruction); 175 void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction); 176 void GenerateDivRemIntegral(HBinaryOperation* instruction); 179 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info); 180 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info); 181 void GenerateImplicitNullCheck(HNullCheck* instruction); [all...] |
H A D | code_generator_x86_64.cc | 53 explicit NullCheckSlowPathX86_64(HNullCheck* instruction) : instruction_(instruction) {} argument 69 explicit DivZeroCheckSlowPathX86_64(HDivZeroCheck* instruction) : instruction_(instruction) {} argument 117 explicit SuspendCheckSlowPathX86_64(HSuspendCheck* instruction, HBasicBlock* successor) argument 118 : instruction_(instruction), successor_(successor) {} 153 BoundsCheckSlowPathX86_64(HBoundsCheck* instruction, argument 156 : instruction_(instruction), 224 // The instruction where this slow path is happening. 239 explicit LoadStringSlowPathX86_64(HLoadString* instruction) argument 268 TypeCheckSlowPathX86_64(HInstruction* instruction, Location class_to_check, Location object_class, uint32_t dex_pc) argument 326 DeoptimizationSlowPathX86_64(HInstruction* instruction) argument 689 Move(HInstruction* instruction, Location location, HInstruction* move_for) argument 799 GenerateTestAndBranch(HInstruction* instruction, Label* true_target, Label* false_target, Label* always_true_target) argument 2462 DivRemOneOrMinusOne(HBinaryOperation* instruction) argument 2505 DivByPowerOfTwo(HDiv* instruction) argument 2549 GenerateDivRemWithAnyConstant(HBinaryOperation* instruction) argument 2671 GenerateDivRemIntegral(HBinaryOperation* instruction) argument 2860 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 2869 VisitDivZeroCheck(HDivZeroCheck* instruction) argument 3014 VisitNewInstance(HNewInstance* instruction) argument 3023 VisitNewInstance(HNewInstance* instruction) argument 3035 VisitNewArray(HNewArray* instruction) argument 3045 VisitNewArray(HNewArray* instruction) argument 3058 VisitParameterValue(HParameterValue* instruction) argument 3070 VisitParameterValue(HParameterValue* instruction) argument 3116 VisitPhi(HPhi* instruction) argument 3125 VisitPhi(HPhi* instruction) argument 3152 HandleFieldGet(HInstruction* instruction) argument 3165 HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info) argument 3230 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 3252 HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info) argument 3341 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3345 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument 3349 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3353 VisitInstanceFieldGet(HInstanceFieldGet* instruction) argument 3357 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3361 VisitStaticFieldGet(HStaticFieldGet* instruction) argument 3365 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3369 VisitStaticFieldSet(HStaticFieldSet* instruction) argument 3373 VisitNullCheck(HNullCheck* instruction) argument 3385 GenerateImplicitNullCheck(HNullCheck* instruction) argument 3396 GenerateExplicitNullCheck(HNullCheck* instruction) argument 3416 VisitNullCheck(HNullCheck* instruction) argument 3424 VisitArrayGet(HArrayGet* instruction) argument 3436 VisitArrayGet(HArrayGet* instruction) argument 3547 VisitArraySet(HArraySet* instruction) argument 3582 VisitArraySet(HArraySet* instruction) argument 3751 VisitArrayLength(HArrayLength* instruction) argument 3758 VisitArrayLength(HArrayLength* instruction) argument 3767 VisitBoundsCheck(HBoundsCheck* instruction) argument 3777 VisitBoundsCheck(HBoundsCheck* instruction) argument 3841 VisitParallelMove(HParallelMove* instruction) argument 3846 VisitParallelMove(HParallelMove* instruction) argument 3850 VisitSuspendCheck(HSuspendCheck* instruction) argument 3854 VisitSuspendCheck(HSuspendCheck* instruction) argument 3868 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 4199 VisitThrow(HThrow* instruction) argument 4206 VisitThrow(HThrow* instruction) argument 4212 VisitInstanceOf(HInstanceOf* instruction) argument 4222 VisitInstanceOf(HInstanceOf* instruction) argument 4272 VisitCheckCast(HCheckCast* instruction) argument 4280 VisitCheckCast(HCheckCast* instruction) argument 4308 VisitMonitorOperation(HMonitorOperation* instruction) argument 4315 VisitMonitorOperation(HMonitorOperation* instruction) argument 4323 VisitAnd(HAnd* instruction) argument 4324 VisitOr(HOr* instruction) argument 4325 VisitXor(HXor* instruction) argument 4327 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4337 VisitAnd(HAnd* instruction) argument 4341 VisitOr(HOr* instruction) argument 4345 VisitXor(HXor* instruction) argument 4349 HandleBitwiseOperation(HBinaryOperation* instruction) argument 4438 VisitBoundType(HBoundType* instruction) argument 4444 VisitBoundType(HBoundType* instruction) argument [all...] |
H A D | register_allocator.h | 114 HInstruction* instruction, 118 HInstruction* instruction, 121 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const; 127 HInstruction* instruction, 134 HInstruction* instruction, 139 void ProcessInstruction(HInstruction* instruction); 187 // where an instruction requires a specific register. 192 // where an instruction requires a temporary.
|
/art/disassembler/ |
H A D | disassembler_mips.cc | 35 bool Matches(uint32_t instruction) const { 36 return (instruction & mask) == value; 321 uint32_t instruction = ReadU32(instr_ptr); local 323 uint32_t rs = (instruction >> 21) & 0x1f; // I-type, R-type. 324 uint32_t rt = (instruction >> 16) & 0x1f; // I-type, R-type. 325 uint32_t rd = (instruction >> 11) & 0x1f; // R-type. 326 uint32_t sa = (instruction >> 6) & 0x1f; // R-type. 332 uint32_t op = (instruction >> 26) & 0x3f; 333 uint32_t function = (instruction & 0x3f); // R-type. 337 if (gMipsInstructions[i].Matches(instruction)) { [all...] |
/art/runtime/quick/ |
H A D | inline_method_analyser.cc | 80 // We currently support only plain return or 2-instruction methods. 84 const Instruction* instruction = Instruction::At(code_item->insns_); local 85 Instruction::Code opcode = instruction->Opcode(); 168 const Instruction* instruction = Instruction::At(code_item->insns_); local 169 const Instruction* return_instruction = instruction->Next(); 179 int32_t const_value = instruction->VRegB(); 180 if (instruction->Opcode() == Instruction::CONST_HIGH16) { 183 DCHECK_LT(instruction->VRegA(), code_item->registers_size_); 184 if (instruction->VRegA() != return_reg) { 201 const Instruction* instruction local 264 const Instruction* instruction = Instruction::At(code_item->insns_); local [all...] |