HomeSort by relevance Sort by last modified time
    Searched refs:HInstruction (Results 1 - 25 of 128) sorted by null

1 2 3 4 5 6

  /art/compiler/optimizing/
escape.h 22 class HInstruction;
54 void CalculateEscape(HInstruction* reference,
55 bool (*no_escape)(HInstruction*, HInstruction*),
64 bool DoesNotEscape(HInstruction* reference, bool (*no_escape)(HInstruction*, HInstruction*));
instruction_simplifier_x86_shared.h 25 bool AreLeastSetBitInputs(HInstruction* to_test, HInstruction* other);
loop_optimization.h 101 ArrayReference(HInstruction* b, HInstruction* o, DataType::Type t, bool l, bool c = false)
114 HInstruction* base; // base address
115 HInstruction* offset; // offset + i
177 HInstruction* lo,
178 HInstruction* hi,
179 HInstruction* step,
181 bool VectorizeDef(LoopNode* node, HInstruction* instruction, bool generate_code);
183 HInstruction* instruction,
190 void GenerateVecInv(HInstruction* org, DataType::Type type)
    [all...]
induction_var_range.h 47 Value(HInstruction* i, int32_t a, int32_t b)
51 HInstruction* instruction;
67 bool GetInductionRange(HInstruction* context,
68 HInstruction* instruction,
69 HInstruction* chase_hint,
80 bool CanGenerateRange(HInstruction* context,
81 HInstruction* instruction,
100 void GenerateRange(HInstruction* context,
101 HInstruction* instruction,
104 /*out*/ HInstruction** lower
    [all...]
register_allocation_resolver.h 29 class HInstruction;
44 void Resolve(ArrayRef<HInstruction* const> safepoints,
58 size_t CalculateMaximumSafepointSpillSize(ArrayRef<HInstruction* const> safepoints);
68 HInstruction* instruction,
72 HInstruction* instruction,
75 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const;
76 void AddInputMoveFor(HInstruction* input,
77 HInstruction* user,
81 HInstruction* instruction,
87 HInstruction* instruction
    [all...]
register_allocator_graph_color.h 32 class HInstruction;
102 void ProcessInstruction(HInstruction* instruction);
106 void CheckForFixedInputs(HInstruction* instruction);
110 void CheckForFixedOutput(HInstruction* instruction);
114 void AddSafepointsFor(HInstruction* instruction);
118 void CheckForTempLiveIntervals(HInstruction* instruction);
122 void CheckForSafepoint(HInstruction* instruction);
135 void AllocateSpillSlotForCatchPhi(HInstruction* instruction);
164 ScopedArenaVector<HInstruction*> safepoints_;
induction_var_analysis.h 105 HInstruction* f,
117 HInstruction* fetch;
121 bool IsVisitedNode(HInstruction* instruction) const {
130 InductionInfo* CreateInvariantFetch(HInstruction* f) {
148 HInstruction* f,
156 void VisitNode(HLoopInformation* loop, HInstruction* instruction);
157 uint32_t VisitDescendant(HLoopInformation* loop, HInstruction* instruction);
158 void ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction);
164 HInstruction* phi,
173 InductionInfo* SolvePhi(HInstruction* phi, size_t input_index, size_t adjust_input_size)
    [all...]
code_generator_utils.h 26 class HInstruction;
35 bool IsBooleanValueOrMaterializedCondition(HInstruction* cond_input);
ssa_liveness_analysis_test.cc 58 HInstruction* arg = new (GetAllocator()) HParameterValue(
63 HInstruction* ret = new (GetAllocator()) HReturn(arg);
78 HInstruction* array = new (GetAllocator()) HParameterValue(
80 HInstruction* index = new (GetAllocator()) HParameterValue(
82 HInstruction* value = new (GetAllocator()) HParameterValue(
84 HInstruction* extra_arg1 = new (GetAllocator()) HParameterValue(
86 HInstruction* extra_arg2 = new (GetAllocator()) HParameterValue(
88 HInstruction* const args[] = { array, index, value, extra_arg1, extra_arg2 };
89 for (HInstruction* insn : args) {
94 HInstruction* null_check = new (GetAllocator()) HNullCheck(array, 0)
    [all...]
escape.cc 23 void CalculateEscape(HInstruction* reference,
24 bool (*no_escape)(HInstruction*, HInstruction*),
47 for (const HUseListNode<HInstruction*>& use : reference->GetUses()) {
48 HInstruction* user = use.GetUser();
99 bool DoesNotEscape(HInstruction* reference, bool (*no_escape)(HInstruction*, HInstruction*)) {
graph_visualizer.h 31 class HInstruction;
59 instruction_intervals_(std::less<const HInstruction*>(), allocator->Adapter()),
66 void AddInstructionInterval(HInstruction* instr, size_t start, size_t end) {
82 const ArenaSafeMap<const HInstruction*, GeneratedCodeInterval>& GetInstructionIntervals() const {
86 ArenaSafeMap<const HInstruction*, GeneratedCodeInterval>* GetInstructionIntervals() {
96 ArenaSafeMap<const HInstruction*, GeneratedCodeInterval> instruction_intervals_;
instruction_simplifier_shared.h 26 inline bool CanFitInShifterOperand(HInstruction* instruction) {
41 inline bool HasShifterOperand(HInstruction* instr, InstructionSet isa) {
57 bool TryExtractArrayAccessAddress(HInstruction* access,
58 HInstruction* array,
59 HInstruction* index,
62 bool TryExtractVecArrayAccessAddress(HVecMemoryOperation* access, HInstruction* index);
nodes_mips.h 46 HInstruction* input,
96 HIntermediateArrayAddressIndex(HInstruction* index, HInstruction* shift, uint32_t dex_pc)
106 bool InstructionDataEquals(const HInstruction* other ATTRIBUTE_UNUSED) const override {
111 HInstruction* GetIndex() const { return InputAt(0); }
112 HInstruction* GetShift() const { return InputAt(1); }
nodes_shared.h 22 // (defining `HInstruction` and co).
31 HInstruction* accumulator,
32 HInstruction* mul_left,
33 HInstruction* mul_right,
49 bool InstructionDataEquals(const HInstruction* other) const override {
69 HInstruction* left,
70 HInstruction* right,
79 DCHECK(op == HInstruction::kAnd || op == HInstruction::kOr || op == HInstruction::kXor) << op
    [all...]
scheduler.h 37 // Currently, scheduling is performed at the block level, so no `HInstruction`
154 * A node representing an `HInstruction` in the `SchedulingGraph`.
158 SchedulingNode(HInstruction* instr, ScopedArenaAllocator* allocator, bool is_scheduling_barrier)
200 HInstruction* GetInstruction() const { return instruction_; }
226 HInstruction* const instruction_;
262 SchedulingNode* AddNode(HInstruction* instr, bool is_scheduling_barrier = false) {
272 SchedulingNode* GetNode(const HInstruction* instr) const {
281 bool IsSchedulingBarrier(const HInstruction* instruction) const;
284 bool HasImmediateDataDependency(const HInstruction* node, const HInstruction* other) const
    [all...]
instruction_simplifier_x86_shared.cc 31 HInstruction* left = instruction->GetLeft();
32 HInstruction* right = instruction->GetRight();
38 HInstruction* other_ins = (left_is_not ? right : left);
67 HInstruction* candidate = nullptr;
68 HInstruction* other = nullptr;
69 HInstruction* left = instruction->GetLeft();
70 HInstruction* right = instruction->GetRight();
81 type, HInstruction::kAnd, other, instruction->GetDexPc());
100 HInstruction* left = instruction->GetLeft();
101 HInstruction* right = instruction->GetRight()
    [all...]
code_sinking.cc 37 HInstruction* last = exit_predecessor->GetLastInstruction();
46 static bool IsInterestingInstruction(HInstruction* instruction) {
122 static void AddInstruction(HInstruction* instruction,
125 ScopedArenaVector<HInstruction*>* worklist) {
135 static void AddInputs(HInstruction* instruction,
138 ScopedArenaVector<HInstruction*>* worklist) {
139 for (HInstruction* input : instruction->GetInputs()) {
147 ScopedArenaVector<HInstruction*>* worklist) {
156 static bool ShouldFilterUse(HInstruction* instruction,
157 HInstruction* user
    [all...]
cha_guard_optimization.cc 54 bool OptimizeForParameter(HShouldDeoptimizeFlag* flag, HInstruction* receiver);
56 bool OptimizeWithDominatingGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver);
58 bool HoistGuard(HShouldDeoptimizeFlag* flag, HInstruction* receiver);
90 HInstruction* compare = flag->GetNext();
92 HInstruction* deopt = compare->GetNext();
106 HInstruction* receiver) {
123 HInstruction* receiver) {
149 HInstruction* instruction;
175 HInstruction* receiver) {
186 HInstruction* compare = flag->GetNext()
    [all...]
load_store_analysis_test.cc 47 HInstruction* array = new (GetAllocator()) HParameterValue(
49 HInstruction* index = new (GetAllocator()) HParameterValue(
51 HInstruction* c1 = graph_->GetIntConstant(1);
52 HInstruction* c2 = graph_->GetIntConstant(2);
53 HInstruction* c3 = graph_->GetIntConstant(3);
54 HInstruction* array_get1 = new (GetAllocator()) HArrayGet(array, c1, DataType::Type::kInt32, 0);
55 HInstruction* array_get2 = new (GetAllocator()) HArrayGet(array, c2, DataType::Type::kInt32, 0);
56 HInstruction* array_set1 =
58 HInstruction* array_set2 =
123 HInstruction* c1 = graph_->GetIntConstant(1)
    [all...]
scheduler_test.cc 101 HInstruction* array = new (GetAllocator()) HParameterValue(graph_->GetDexFile(),
105 HInstruction* c1 = graph_->GetIntConstant(1);
106 HInstruction* c2 = graph_->GetIntConstant(10);
107 HInstruction* add1 = new (GetAllocator()) HAdd(DataType::Type::kInt32, c1, c2);
108 HInstruction* add2 = new (GetAllocator()) HAdd(DataType::Type::kInt32, add1, c2);
109 HInstruction* mul = new (GetAllocator()) HMul(DataType::Type::kInt32, add1, add2);
110 HInstruction* div_check = new (GetAllocator()) HDivZeroCheck(add2, 0);
111 HInstruction* div = new (GetAllocator()) HDiv(DataType::Type::kInt32, add1, div_check, 0);
112 HInstruction* array_get1 =
114 HInstruction* array_set1
    [all...]
instruction_simplifier_shared.cc 27 HInstruction* input_other) {
39 HInstruction* input_a = input_other;
40 HInstruction* input_b = nullptr; // Set to a non-null value if we found a pattern to optimize.
41 HInstruction::InstructionKind op_kind;
50 op_kind = HInstruction::kAdd;
61 op_kind = HInstruction::kAdd;
69 op_kind = HInstruction::kSub;
111 HInstruction* use = mul->GetUses().front().GetUser();
124 HInstruction* accumulator = nullptr;
126 HInstruction* binop_left = binop->GetLeft()
    [all...]
induction_var_analysis_test.cc 112 HInstruction* compare = new (GetAllocator()) HLessThan(basic_[d], constant100_);
148 HInstruction* InsertInstruction(HInstruction* instruction, int d) {
162 HInstruction* InsertArrayStore(HInstruction* subscript, int d) {
170 std::string GetInductionInfo(HInstruction* instruction, int d) {
177 HInstruction* control = loop_header_[d]->GetLastInstruction();
183 bool HaveSameInduction(HInstruction* instruction1, HInstruction* instruction2) {
190 bool IsNarrowingLinear(HInstruction* instruction)
    [all...]
inliner.h 90 HInstruction** return_replacement)
97 HInstruction** return_replacement);
108 HInstruction** return_replacement)
114 HInstruction* obj);
118 HInstruction* obj,
119 HInstruction* value,
192 void AddCHAGuard(HInstruction* invoke_instruction,
194 HInstruction* cursor,
198 HInstruction* receiver,
202 void FixUpReturnReferenceType(ArtMethod* resolved_method, HInstruction* return_replacement
    [all...]
instruction_simplifier_arm.cc 43 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction);
44 bool TryMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op, bool do_merge);
45 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) {
48 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) {
62 HInstruction* instruction = it.Current();
82 bool InstructionSimplifierArmVisitor::TryMergeIntoShifterOperand(HInstruction* use,
83 HInstruction* bitfield_op
    [all...]
instruction_simplifier_arm64.cc 43 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction);
44 bool TryMergeIntoShifterOperand(HInstruction* use,
45 HInstruction* bitfield_op,
47 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) {
50 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) {
64 HInstruction* instruction = it.Current();
71 // HInstruction visitors, sorted alphabetically.
88 bool InstructionSimplifierArm64Visitor::TryMergeIntoShifterOperand(HInstruction* use
    [all...]

Completed in 106 milliseconds

1 2 3 4 5 6