Home
last modified time | relevance | path

Searched refs:HInstruction (Results 51 – 75 of 122) sorted by relevance

12345

/art/compiler/optimizing/
Dnodes_x86.h72 HInstruction* input, in HX86FPNeg()
96 HInstruction* input, in HX86PackedSwitch()
134 HInstruction* left,
135 HInstruction* right,
172 HInstruction* input, uint32_t dex_pc = kNoDexPc)
176 DCHECK(op == HInstruction::kAnd || op == HInstruction::kXor) << op; in HUnaryOperation()
183 case HInstruction::kAnd:
185 case HInstruction::kXor:
Dssa_builder.h68 HInstruction* GetFloatOrDoubleEquivalent(HInstruction* instruction, DataType::Type type);
69 HInstruction* GetReferenceTypeEquivalent(HInstruction* instruction);
124 bool HasAliasInEnvironments(HInstruction* instruction);
Dssa_liveness_analysis.cc52 HInstruction* current = inst_it.Current(); in NumberInstructions()
70 HInstruction* current = inst_it.Current(); in NumberInstructions()
106 void SsaLivenessAnalysis::RecursivelyProcessInputs(HInstruction* current, in RecursivelyProcessInputs()
107 HInstruction* actual_user, in RecursivelyProcessInputs()
111 HInstruction* input = inputs[i]; in RecursivelyProcessInputs()
140 void SsaLivenessAnalysis::ProcessEnvironment(HInstruction* current, in ProcessEnvironment()
141 HInstruction* actual_user, in ProcessEnvironment()
149 HInstruction* instruction = environment->GetInstructionAt(i); in ProcessEnvironment()
191 HInstruction* phi = phi_it.Current(); in ComputeLiveRanges()
192 HInstruction* input = phi->InputAt(phi_input_index); in ComputeLiveRanges()
[all …]
Dsuperblock_cloner.cc42 static bool IsUsedOutsideRegion(const HInstruction* instr, const HBasicBlockSet& bb_set) { in IsUsedOutsideRegion()
45 HInstruction* user = use_node->GetUser(); in IsUsedOutsideRegion()
53 HInstruction* user = use_node->GetUser()->GetHolder(); in IsUsedOutsideRegion()
64 HInstruction* first_input = phi->InputAt(0); in ArePhiInputsTheSame()
116 void SuperblockCloner::ReplaceInputsWithCopies(HInstruction* copy_instr) { in ReplaceInputsWithCopies()
120 HInstruction* orig_input = copy_instr->InputAt(i); in ReplaceInputsWithCopies()
125 HInstruction* copy_input = GetInstrCopy(orig_input); in ReplaceInputsWithCopies()
132 void SuperblockCloner::DeepCloneEnvironmentWithRemapping(HInstruction* copy_instr, in DeepCloneEnvironmentWithRemapping()
140 HInstruction* env_input = orig_env->GetInstructionAt(i); in DeepCloneEnvironmentWithRemapping()
180 HInstruction* orig_phi_input = orig_phi->InputAt(this_index); in RemapOrigInternalOrIncomingEdge()
[all …]
Dinstruction_simplifier_x86_shared.h25 bool AreLeastSetBitInputs(HInstruction* to_test, HInstruction* other);
Dpretty_printer.h30 void PrintPreInstruction(HInstruction* instruction) { in PrintPreInstruction()
36 void VisitInstruction(HInstruction* instruction) override { in VisitInstruction()
42 void PrintPostInstruction(HInstruction* instruction) { in PrintPostInstruction()
47 for (const HInstruction* input : inputs) { in PrintPostInstruction()
60 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in PrintPostInstruction()
Dselect_generator.cc43 HInstruction* instruction = it.Current(); in IsSimpleBlock()
97 ScopedArenaSafeMap<HInstruction*, HSelect*> cache( in Run()
98 std::less<HInstruction*>(), allocator.Adapter(kArenaAllocSelectGenerator)); in Run()
122 HInstruction* instr = true_block->GetFirstInstruction(); in Run()
127 HInstruction* instr = false_block->GetFirstInstruction(); in Run()
142 HInstruction* true_value = nullptr; in Run()
143 HInstruction* false_value = nullptr; in Run()
156 HInstruction* condition = if_instruction->InputAt(0); in Run()
Dconstant_folding_test.cc125 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
186 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
247 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
326 HInstruction* inst1 = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
329 HInstruction* inst2 = inst1->GetPrevious(); in TEST_F()
332 HInstruction* inst3 = inst2->GetPrevious(); in TEST_F()
397 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
460 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
524 HInstruction* inst = graph->GetBlocks()[1]->GetFirstInstruction()->InputAt(0); in TEST_F()
624 HInstruction* inst1 = graph->GetBlocks()[4]->GetFirstInstruction()->InputAt(0); in TEST_F()
[all …]
Dcode_generator_x86.h189 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86()
199 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
200 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
223 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86()
261 void HandleFieldSet(HInstruction* instruction,
264 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
275 void GenerateReferenceLoadOneRegister(HInstruction* instruction,
290 void GenerateReferenceLoadTwoRegisters(HInstruction* instruction,
300 void GenerateGcRootFieldLoad(HInstruction* instruction,
312 void GenerateTestAndBranch(HInstruction* instruction,
[all …]
Dcode_generator_x86_64.h193 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86_64()
203 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
204 void HandleFieldGet(HInstruction* instruction);
227 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_X86_64()
251 void HandleFieldSet(HInstruction* instruction,
254 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
269 void GenerateReferenceLoadOneRegister(HInstruction* instruction,
284 void GenerateReferenceLoadTwoRegisters(HInstruction* instruction,
294 void GenerateGcRootFieldLoad(HInstruction* instruction,
304 void GenerateTestAndBranch(HInstruction* instruction,
[all …]
Dprepare_for_register_allocation.h60 bool CanMoveClinitCheck(HInstruction* input, HInstruction* user) const;
61 bool CanEmitConditionAt(HCondition* condition, HInstruction* user) const;
Dcommon_arm64.h81 inline vixl::aarch64::Register OutputRegister(HInstruction* instr) { in OutputRegister()
85 inline vixl::aarch64::Register InputRegisterAt(HInstruction* instr, int input_index) { in InputRegisterAt()
120 inline vixl::aarch64::VRegister OutputFPRegister(HInstruction* instr) { in OutputFPRegister()
124 inline vixl::aarch64::VRegister InputFPRegisterAt(HInstruction* instr, int input_index) { in InputFPRegisterAt()
135 inline vixl::aarch64::CPURegister OutputCPURegister(HInstruction* instr) { in OutputCPURegister()
141 inline vixl::aarch64::CPURegister InputCPURegisterAt(HInstruction* instr, int index) { in InputCPURegisterAt()
147 inline vixl::aarch64::CPURegister InputCPURegisterOrZeroRegAt(HInstruction* instr, in InputCPURegisterOrZeroRegAt()
149 HInstruction* input = instr->InputAt(index); in InputCPURegisterOrZeroRegAt()
171 inline vixl::aarch64::Operand InputOperandAt(HInstruction* instr, int input_index) { in InputOperandAt()
241 inline bool Arm64CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { in Arm64CanEncodeConstantAsImmediate()
[all …]
Dregister_allocation_resolver.cc32 void RegisterAllocationResolver::Resolve(ArrayRef<HInstruction* const> safepoints, in Resolve()
59 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in Resolve()
147 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in Resolve()
187 HInstruction* phi = inst_it.Current(); in Resolve()
191 HInstruction* input = phi->InputAt(i); in Resolve()
207 HInstruction* at = liveness_.GetTempUser(temp); in Resolve()
234 HInstruction* instruction = liveness_.GetInstructionFromSsaIndex(i); in UpdateSafepointLiveRegisters()
275 ArrayRef<HInstruction* const> safepoints) { in CalculateMaximumSafepointSpillSize()
279 for (HInstruction* instruction : safepoints) { in CalculateMaximumSafepointSpillSize()
412 HInstruction* instruction) { in IsMaterializableEntryBlockInstructionOfGraphWithIrreducibleLoop()
[all …]
Dssa_liveness_analysis.h112 UsePosition(HInstruction* user, size_t input_index, size_t position) in UsePosition()
126 HInstruction* GetUser() const { return user_; } in GetUser()
153 HInstruction* const user_;
229 explicit SafepointPosition(HInstruction* instruction) in SafepointPosition()
233 static size_t ComputePosition(HInstruction* instruction) { in ComputePosition()
262 HInstruction* GetInstruction() const { in GetInstruction()
267 HInstruction* const instruction_;
281 HInstruction* instruction = nullptr) {
300 void AddTempUse(HInstruction* instruction, size_t temp_index) { in AddTempUse()
313 void AddUse(HInstruction* instruction,
[all …]
Dregister_allocator_test.cc61 HGraph* BuildIfElseWithPhi(HPhi** phi, HInstruction** input1, HInstruction** input2);
63 HGraph* BuildFieldReturn(HInstruction** field, HInstruction** ret);
64 HGraph* BuildTwoSubs(HInstruction** first_sub, HInstruction** second_sub);
65 HGraph* BuildDiv(HInstruction** div);
489 HInstruction** input1, in BuildIfElseWithPhi()
490 HInstruction** input2) { in BuildIfElseWithPhi()
495 HInstruction* parameter = new (GetAllocator()) HParameterValue( in BuildIfElseWithPhi()
503 HInstruction* test = new (GetAllocator()) HInstanceFieldGet(parameter, in BuildIfElseWithPhi()
561 HInstruction *input1, *input2; in PhiHint()
640 HGraph* RegisterAllocatorTest::BuildFieldReturn(HInstruction** field, HInstruction** ret) { in BuildFieldReturn()
[all …]
Doptimizing_unit_test.h63 HInstruction* defined_by = nullptr) {
83 HInstruction* current = it.Current(); in RemoveSuspendChecks()
202 void AddParameter(HInstruction* parameter) { in AddParameter()
235 HEnvironment* ManuallyBuildEnvFor(HInstruction* instruction, in ManuallyBuildEnvFor()
236 ArenaVector<HInstruction*>* current_locals) { in ManuallyBuildEnvFor()
244 environment->CopyFrom(ArrayRef<HInstruction* const>(*current_locals)); in ManuallyBuildEnvFor()
266 std::vector<HInstruction*> parameters_;
291 inline bool IsRemoved(HInstruction* instruction) { in IsRemoved()
Dinstruction_builder.cc84 inline ScopedArenaVector<HInstruction*>* HInstructionBuilder::GetLocalsFor(HBasicBlock* block) { in GetLocalsFor()
85 ScopedArenaVector<HInstruction*>* locals = &locals_for_[block->GetBlockId()]; in GetLocalsFor()
93 ScopedArenaVector<HInstruction*>* HInstructionBuilder::GetLocalsForWithAllocation( in GetLocalsForWithAllocation()
95 ScopedArenaVector<HInstruction*>* locals, in GetLocalsForWithAllocation()
107 HInstruction* current_local_value = (*current_locals_)[i]; in GetLocalsForWithAllocation()
122 inline HInstruction* HInstructionBuilder::ValueOfLocalAt(HBasicBlock* block, size_t local) { in ValueOfLocalAt()
123 ScopedArenaVector<HInstruction*>* locals = GetLocalsFor(block); in ValueOfLocalAt()
156 HInstruction* incoming = in InitializeBlockLocals()
178 HInstruction* value = ValueOfLocalAt(current_block_->GetPredecessors()[0], local); in InitializeBlockLocals()
181 HInstruction* current = ValueOfLocalAt(predecessor, local); in InitializeBlockLocals()
[all …]
Dgvn.cc84 void Add(HInstruction* instruction) { in Add()
98 HInstruction* Lookup(HInstruction* instruction) const { in Lookup()
104 HInstruction* existing = node->GetInstruction(); in Lookup()
114 bool Contains(HInstruction* instruction) const { in Contains()
188 Node(HInstruction* instruction, size_t hash_code, Node* next) in Node()
192 HInstruction* GetInstruction() const { return instruction_; } in GetInstruction()
216 HInstruction* const instruction_;
311 size_t HashCode(HInstruction* instruction) const { in HashCode()
488 HInstruction* current = block->GetFirstInstruction(); in VisitBasicBlock()
491 HInstruction* next = current->GetNext(); in VisitBasicBlock()
[all …]
Dscheduler_arm.h58 void VisitInstruction(HInstruction* ATTRIBUTE_UNUSED) override { in VisitInstruction()
127 void HandleFieldSetLatencies(HInstruction* instruction, const FieldInfo& field_info);
128 void HandleFieldGetLatencies(HInstruction* instruction, const FieldInfo& field_info);
145 bool IsSchedulable(const HInstruction* instruction) const override { in IsSchedulable()
147 HInstruction::InstructionKind::k##type: in IsSchedulable()
Dcode_generator_arm_vixl.h248 explicit SlowPathCodeARMVIXL(HInstruction* instruction) in SlowPathCodeARMVIXL()
299 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_ARM()
311 void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
312 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
314 Location ArithmeticZeroOrFpuRegister(HInstruction* input);
315 Location ArmEncodableConstantOrRegister(HInstruction* constant, Opcode opcode);
337 void VisitInstruction(HInstruction* instruction) override { in FOR_EACH_CONCRETE_INSTRUCTION_ARM()
371 HInstruction* instruction);
377 void HandleFieldSet(HInstruction* instruction,
380 void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);
[all …]
Dgraph_checker.cc39 static bool IsAllowedToJumpToExitBlock(HInstruction* instruction) { in IsAllowedToJumpToExitBlock()
151 HInstruction* last_instruction = IsExitTryBoundaryIntoExitBlock(predecessor) ? in VisitBasicBlock()
164 HInstruction* current = it.Current(); in VisitBasicBlock()
181 HInstruction* current = it.Current(); in VisitBasicBlock()
359 void GraphChecker::VisitInstruction(HInstruction* instruction) { in VisitInstruction()
382 for (HInstruction* input : instruction->GetInputs()) { in VisitInstruction()
403 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) { in VisitInstruction()
404 HInstruction* user = use.GetUser(); in VisitInstruction()
442 const HUserRecord<HInstruction*>& input_record = input_records[i]; in VisitInstruction()
443 HInstruction* input = input_record.GetInstruction(); in VisitInstruction()
[all …]
Dinliner.cc169 for (HInstruction* instruction = block->GetFirstInstruction(); instruction != nullptr;) { in Run()
170 HInstruction* next = instruction->GetNext(); in Run()
219 HInstruction* receiver = invoke->InputAt(0); in FindVirtualOrInterfaceTarget()
803 HInstruction* receiver, in BuildGetReceiverClass()
824 HInstruction* invoke_instruction, in ResolveMethodFromInlineCache()
878 HInstruction* receiver = invoke_instruction->InputAt(0); in TryInlineMonomorphicCall()
879 HInstruction* cursor = invoke_instruction->GetPrevious(); in TryInlineMonomorphicCall()
910 void HInliner::AddCHAGuard(HInstruction* invoke_instruction, in AddCHAGuard()
912 HInstruction* cursor, in AddCHAGuard()
916 HInstruction* compare = new (graph_->GetAllocator()) HNotEqual( in AddCHAGuard()
[all …]
Dsuperblock_cloner_test.cc73 HInstruction* suspend_check = new (GetAllocator()) HSuspendCheck(); in CreateBasicLoopDataFlow()
74 HInstruction* loop_check = new (GetAllocator()) HGreaterThanOrEqual(phi, const_128); in CreateBasicLoopDataFlow()
82 HInstruction* null_check = new (GetAllocator()) HNullCheck(parameters_[0], dex_pc); in CreateBasicLoopDataFlow()
83 HInstruction* array_length = new (GetAllocator()) HArrayLength(null_check, dex_pc); in CreateBasicLoopDataFlow()
84 HInstruction* bounds_check = new (GetAllocator()) HBoundsCheck(phi, array_length, dex_pc); in CreateBasicLoopDataFlow()
85 HInstruction* array_get = in CreateBasicLoopDataFlow()
87 HInstruction* add = new (GetAllocator()) HAdd(DataType::Type::kInt32, array_get, const_1); in CreateBasicLoopDataFlow()
88 HInstruction* array_set = new (GetAllocator()) HArraySet( in CreateBasicLoopDataFlow()
90 HInstruction* induction_inc = new (GetAllocator()) HAdd(DataType::Type::kInt32, phi, const_1); in CreateBasicLoopDataFlow()
107 ArenaVector<HInstruction*> current_locals({phi, const_128, parameters_[0]}, in CreateBasicLoopDataFlow()
[all …]
Dinduction_var_range_test.cc50 void ExpectInt(int32_t value, HInstruction* i) { in ExpectInt()
84 void BuildLoop(int32_t lower, HInstruction* upper, int32_t stride) { in BuildLoop()
128 void SetHint(HInstruction* hint) { in SetHint()
152 HInductionVarAnalysis::InductionInfo* CreateFetch(HInstruction* fetch) { in CreateFetch()
315 HInstruction* condition_;
316 HInstruction* increment_;
317 HInstruction* x_;
318 HInstruction* y_;
704 HInstruction* new_array = new (GetAllocator()) HNewArray( in TEST_F()
710 HInstruction* array_length = new (GetAllocator()) HArrayLength(new_array, 0); in TEST_F()
[all …]
Dscheduler_arm.cc110 HInstruction* rhs = instr->GetRight(); in VisitRor()
134 HInstruction* rhs = instr->GetRight(); in HandleShiftLatencies()
211 HInstruction* right = condition->InputAt(1); in HandleGenerateLongTestConstant()
321 HInstruction* right = condition->InputAt(1); in CanGenerateTest()
382 HInstruction* right = cond->InputAt(1); in HandleGenerateConditionLong()
439 HInstruction* right = cond->InputAt(1); in HandleGenerateConditionIntegralOrNonPrimitive()
558 const HInstruction::InstructionKind kind = instruction->GetInstrKind(); in HandleGenerateDataProc()
559 if (kind == HInstruction::kAdd) { in HandleGenerateDataProc()
562 } else if (kind == HInstruction::kSub) { in HandleGenerateDataProc()
576 const HInstruction::InstructionKind kind = instruction->GetInstrKind(); in HandleGenerateLongDataProc()
[all …]

12345