/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*));
|
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 | 30 class HInstruction; 47 void Resolve(ArrayRef<HInstruction* const> safepoints, 61 size_t CalculateMaximumSafepointSpillSize(ArrayRef<HInstruction* const> safepoints); 71 HInstruction* instruction, 75 HInstruction* instruction, 78 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const; 79 void AddInputMoveFor(HInstruction* input, 80 HInstruction* user, 84 HInstruction* instruction, 90 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); 165 ArenaVector<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);
|
escape.cc | 23 void CalculateEscape(HInstruction* reference, 24 bool (*no_escape)(HInstruction*, HInstruction*), 41 for (const HUseListNode<HInstruction*>& use : reference->GetUses()) { 42 HInstruction* user = use.GetUser(); 91 bool DoesNotEscape(HInstruction* reference, bool (*no_escape)(HInstruction*, HInstruction*)) {
|
loop_optimization.h | 91 ArrayReference(HInstruction* b, HInstruction* o, Primitive::Type t, bool l) 101 HInstruction* base; // base address 102 HInstruction* offset; // offset + i 124 HInstruction* lo, 125 HInstruction* hi, 126 HInstruction* step, 128 bool VectorizeDef(LoopNode* node, HInstruction* instruction, bool generate_code); 130 HInstruction* instruction, 136 void GenerateVecInv(HInstruction* org, Primitive::Type type) [all...] |
nodes_shared.h | 22 // (defining `HInstruction` and co). 31 HInstruction* accumulator, 32 HInstruction* mul_left, 33 HInstruction* mul_right, 46 bool InstructionDataEquals(const HInstruction* other) const OVERRIDE { 65 HInstruction* left, 66 HInstruction* right, 70 DCHECK(op == HInstruction::kAnd || op == HInstruction::kOr || op == HInstruction::kXor) << op [all...] |
ssa_liveness_analysis_test.cc | 71 HInstruction* arg = new (&allocator_) HParameterValue( 76 HInstruction* ret = new (&allocator_) HReturn(arg); 91 HInstruction* array = new (&allocator_) HParameterValue( 93 HInstruction* index = new (&allocator_) HParameterValue( 95 HInstruction* value = new (&allocator_) HParameterValue( 97 HInstruction* extra_arg1 = new (&allocator_) HParameterValue( 99 HInstruction* extra_arg2 = new (&allocator_) HParameterValue( 101 ArenaVector<HInstruction*> args({ array, index, value, extra_arg1, extra_arg2 }, 103 for (HInstruction* insn : args) { 108 HInstruction* null_check = new (&allocator_) HNullCheck(array, 0) [all...] |
load_store_elimination.cc | 31 static HInstruction* const kUnknownHeapValue = 32 reinterpret_cast<HInstruction*>(static_cast<uintptr_t>(-1)); 36 static HInstruction* const kDefaultHeapValue = 37 reinterpret_cast<HInstruction*>(static_cast<uintptr_t>(-2)); 48 ArenaVector<HInstruction*>(heap_locations_collector. 76 HInstruction* load = removed_loads_[i]; 81 HInstruction* substitute = substitute_instructions_for_loads_[i]; 84 HInstruction* sub_sub = FindSubstitute(substitute); 94 for (HInstruction* store : possibly_removed_stores_) { 102 for (HInstruction* new_instance : singleton_new_instances_) [all...] |
induction_var_analysis_test.cc | 114 HInstruction* compare = new (&allocator_) HLessThan(basic_[d], constant100_); 150 HInstruction* InsertInstruction(HInstruction* instruction, int d) { 164 HInstruction* InsertArrayStore(HInstruction* subscript, int d) { 172 std::string GetInductionInfo(HInstruction* instruction, int d) { 179 HInstruction* control = loop_header_[d]->GetLastInstruction(); 185 bool HaveSameInduction(HInstruction* instruction1, HInstruction* instruction2) { 192 bool IsNarrowingLinear(HInstruction* instruction) [all...] |
instruction_simplifier_arm.h | 38 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction); 39 bool TryMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op, bool do_merge); 40 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { 43 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { 57 HInstruction* instruction = it.Current();
|
instruction_simplifier_arm64.h | 38 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction); 39 bool TryMergeIntoShifterOperand(HInstruction* use, 40 HInstruction* bitfield_op, 42 bool CanMergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { 45 bool MergeIntoShifterOperand(HInstruction* use, HInstruction* bitfield_op) { 59 HInstruction* instruction = it.Current(); 66 // HInstruction visitors, sorted alphabetically.
|
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...] |
scheduler.h | 36 // Currently, scheduling is performed at the block level, so no `HInstruction` 153 * A node representing an `HInstruction` in the `SchedulingGraph`. 157 SchedulingNode(HInstruction* instr, ArenaAllocator* arena, bool is_scheduling_barrier) 191 HInstruction* GetInstruction() const { return instruction_; } 219 HInstruction* const instruction_; 253 SchedulingNode* AddNode(HInstruction* instr, bool is_scheduling_barrier = false) { 270 SchedulingNode* GetNode(const HInstruction* instr) const { 279 bool IsSchedulingBarrier(const HInstruction* instruction) const; 282 bool HasImmediateDataDependency(const HInstruction* node, const HInstruction* other) const [all...] |
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) { 56 bool TryExtractArrayAccessAddress(HInstruction* access, 57 HInstruction* array, 58 HInstruction* index, 62 bool TryExtractVecArrayAccessAddress(HVecMemoryOperation* access, HInstruction* index);
|
code_sinking.cc | 39 static bool IsInterestingInstruction(HInstruction* instruction) { 110 static void AddInstruction(HInstruction* instruction, 113 ArenaVector<HInstruction*>* worklist) { 123 static void AddInputs(HInstruction* instruction, 126 ArenaVector<HInstruction*>* worklist) { 127 for (HInstruction* input : instruction->GetInputs()) { 135 ArenaVector<HInstruction*>* worklist) { 144 static bool ShouldFilterUse(HInstruction* instruction, 145 HInstruction* user, 164 // the generic HInstruction::MoveBeforeFirstUserAndOutOfLoops [all...] |
load_store_analysis_test.cc | 51 HInstruction* array = new (&allocator_) HParameterValue( 53 HInstruction* index = new (&allocator_) HParameterValue( 55 HInstruction* c1 = graph_->GetIntConstant(1); 56 HInstruction* c2 = graph_->GetIntConstant(2); 57 HInstruction* c3 = graph_->GetIntConstant(3); 58 HInstruction* array_get1 = new (&allocator_) HArrayGet(array, c1, Primitive::kPrimInt, 0); 59 HInstruction* array_get2 = new (&allocator_) HArrayGet(array, c2, Primitive::kPrimInt, 0); 60 HInstruction* array_set1 = new (&allocator_) HArraySet(array, c1, c3, Primitive::kPrimInt, 0); 61 HInstruction* array_set2 = new (&allocator_) HArraySet(array, index, c3, Primitive::kPrimInt, 0); 120 HInstruction* c1 = graph_->GetIntConstant(1) [all...] |
bounds_check_elimination_test.cc | 72 HInstruction* parameter1 = new (&allocator_) 74 HInstruction* parameter2 = new (&allocator_) 79 HInstruction* constant_1 = graph_->GetIntConstant(1); 80 HInstruction* constant_0 = graph_->GetIntConstant(0); 84 HInstruction* cmp = new (&allocator_) HGreaterThanOrEqual(parameter2, constant_0); 169 HInstruction* parameter1 = new (&allocator_) 171 HInstruction* parameter2 = new (&allocator_) 176 HInstruction* constant_1 = graph_->GetIntConstant(1); 177 HInstruction* constant_0 = graph_->GetIntConstant(0); 178 HInstruction* constant_max_int = graph_->GetIntConstant(INT_MAX) [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...] |
scheduler_test.cc | 102 HInstruction* array = new (&allocator_) HParameterValue(graph_->GetDexFile(), 106 HInstruction* c1 = graph_->GetIntConstant(1); 107 HInstruction* c2 = graph_->GetIntConstant(10); 108 HInstruction* add1 = new (&allocator_) HAdd(Primitive::kPrimInt, c1, c2); 109 HInstruction* add2 = new (&allocator_) HAdd(Primitive::kPrimInt, add1, c2); 110 HInstruction* mul = new (&allocator_) HMul(Primitive::kPrimInt, add1, add2); 111 HInstruction* div_check = new (&allocator_) HDivZeroCheck(add2, 0); 112 HInstruction* div = new (&allocator_) HDiv(Primitive::kPrimInt, add1, div_check, 0); 113 HInstruction* array_get1 = new (&allocator_) HArrayGet(array, add1, Primitive::kPrimInt, 0); 114 HInstruction* array_set1 = new (&allocator_) HArraySet(array, add1, add2, Primitive::kPrimInt, 0) [all...] |
/external/v8/src/crankshaft/ |
hydrogen-canonicalize.cc | 21 HInstruction* instr = it.Current(); 25 HInstruction::kTruncatingToInt32)) { 26 instr->SetFlag(HInstruction::kAllUsesTruncatingToInt32); 30 HInstruction::kTruncatingToSmi)) { 31 instr->SetFlag(HInstruction::kAllUsesTruncatingToSmi); 33 HInstruction::kTruncatingToInt32)) { 35 instr->SetFlag(HInstruction::kAllUsesTruncatingToInt32); 51 HInstruction* instr = it.Current();
|
hydrogen-escape-analysis.h | 31 void AnalyzeDataFlow(HInstruction* instr); 33 HCapturedObject* NewState(HInstruction* prev); 34 HCapturedObject* NewStateForAllocation(HInstruction* prev); 35 HCapturedObject* NewStateForLoopHeader(HInstruction* prev, HCapturedObject*); 36 HCapturedObject* NewStateCopy(HInstruction* prev, HCapturedObject* state); 53 ZoneList<HInstruction*> captured_;
|