/art/compiler/optimizing/ |
ssa_builder.h | 61 GrowableArray<HInstruction*>* GetLocalsFor(HBasicBlock* block) { 62 GrowableArray<HInstruction*>* locals = locals_for_.Get(block->GetBlockId()); 64 locals = new (GetGraph()->GetArena()) GrowableArray<HInstruction*>( 72 HInstruction* ValueOfLocal(HBasicBlock* block, size_t local); 77 void VisitInstruction(HInstruction* instruction); 80 static HInstruction* GetFloatOrDoubleEquivalent(HInstruction* user, 81 HInstruction* instruction, 84 static HInstruction* GetReferenceTypeEquivalent(HInstruction* instruction) [all...] |
boolean_simplifier.cc | 26 HInstruction* boolean_not = if_instruction->InputAt(0); 52 static bool PreservesCondition(HInstruction* input_true, HInstruction* input_false) { 59 static bool NegatesCondition(HInstruction* input_true, HInstruction* input_false) { 65 static HInstruction* GetOppositeCondition(HInstruction* cond) { 70 HInstruction* lhs = cond->InputAt(0); 71 HInstruction* rhs = cond->InputAt(1); 116 HInstruction* true_value = phi->InputAt(merge_block->GetPredecessorIndexOf(true_block)) [all...] |
ssa_phi_elimination.cc | 34 for (HUseIterator<HInstruction*> use_it(phi->GetUses()); !use_it.Done(); use_it.Advance()) { 35 HUseListNode<HInstruction*>* current = use_it.Current(); 36 HInstruction* user = current->GetUser(); 50 HInstruction* input = it.Current(); 65 HInstruction* current = block->GetFirstPhi(); 66 HInstruction* next = nullptr; 74 for (HUseIterator<HInstruction*> use_it(phi->GetUses()); !use_it.Done(); 76 HInstruction* user = use_it.Current()->GetUser(); 118 HInstruction* candidate = phi->InputAt(0); 126 HInstruction* input = phi->InputAt(i) [all...] |
reference_type_propagation.h | 60 void AddToWorklist(HInstruction* instr); 61 void AddDependentInstructionsToWorklist(HInstruction* instr); 63 bool UpdateNullability(HInstruction* instr); 64 bool UpdateReferenceTypeInfo(HInstruction* instr); 73 GrowableArray<HInstruction*> worklist_;
|
register_allocator.h | 30 class HInstruction; 114 HInstruction* instruction, 118 HInstruction* instruction, 121 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const; 122 void AddInputMoveFor(HInstruction* input, 123 HInstruction* user, 127 HInstruction* instruction, 134 HInstruction* instruction, 139 void ProcessInstruction(HInstruction* instruction); 205 GrowableArray<HInstruction*> safepoints_ [all...] |
reference_type_propagation.cc | 42 HInstruction* instr = it.Current(); 65 HInstruction* ifInput = ifInstruction->InputAt(0); 69 HInstruction* input0 = ifInput->InputAt(0); 70 HInstruction* input1 = ifInput->InputAt(1); 71 HInstruction* obj = nullptr; 94 for (HUseIterator<HInstruction*> it(obj->GetUses()); !it.Done(); it.Advance()) { 95 HInstruction* user = it.Current()->GetUser(); 115 HInstruction* ifInput = ifInstruction->InputAt(0); 116 HInstruction* instanceOf = nullptr; 138 HInstruction* obj = instanceOf->InputAt(0) [all...] |
nodes.h | 42 class HInstruction; 76 void AddInstruction(HInstruction* instruction); 77 void RemoveInstruction(HInstruction* instruction); 80 void InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor); 81 void InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor); 84 bool Contains(HInstruction* instruction) const; 89 bool FoundBefore(const HInstruction* instruction1, 90 const HInstruction* instruction2) const [all...] |
licm.cc | 22 static bool IsPhiOf(HInstruction* instruction, HBasicBlock* block) { 30 static bool InputsAreDefinedBeforeLoop(HInstruction* instruction) { 46 HInstruction* input = environment->GetInstructionAt(i); 69 HInstruction* input = environment->GetInstructionAt(i); 72 HInstruction* incoming = input->InputAt(0); 115 HInstruction* instruction = inst_it.Current();
|
bounds_check_elimination_test.cc | 51 HInstruction* parameter1 = new (&allocator) 53 HInstruction* parameter2 = new (&allocator) 58 HInstruction* constant_1 = graph->GetIntConstant(1); 59 HInstruction* constant_0 = graph->GetIntConstant(0); 63 HInstruction* cmp = new (&allocator) HGreaterThanOrEqual(parameter2, constant_0); 156 HInstruction* parameter1 = new (&allocator) 158 HInstruction* parameter2 = new (&allocator) 163 HInstruction* constant_1 = graph->GetIntConstant(1); 164 HInstruction* constant_0 = graph->GetIntConstant(0); 165 HInstruction* constant_max_int = graph->GetIntConstant(INT_MAX) [all...] |
locations.cc | 23 LocationSummary::LocationSummary(HInstruction* instruction, 47 Location Location::RegisterOrConstant(HInstruction* instruction) { 53 Location Location::RegisterOrInt32LongConstant(HInstruction* instruction) { 66 Location Location::ByteRegisterOrConstant(int reg, HInstruction* instruction) {
|
primitive_type_propagation.h | 36 void AddDependentInstructionsToWorklist(HInstruction* instruction);
|
common_arm64.h | 69 static inline vixl::Register OutputRegister(HInstruction* instr) { 73 static inline vixl::Register InputRegisterAt(HInstruction* instr, int input_index) { 93 static inline vixl::FPRegister OutputFPRegister(HInstruction* instr) { 97 static inline vixl::FPRegister InputFPRegisterAt(HInstruction* instr, int input_index) { 107 static inline vixl::CPURegister OutputCPURegister(HInstruction* instr) { 113 static inline vixl::CPURegister InputCPURegisterAt(HInstruction* instr, int index) { 139 static inline vixl::Operand InputOperandAt(HInstruction* instr, int input_index) { 186 static bool CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { 211 static inline Location ARM64EncodableConstantOrRegister(HInstruction* constant, 212 HInstruction* instr) [all...] |
nodes_test.cc | 37 HInstruction* parameter = new (&allocator) HParameterValue(0, Primitive::kPrimNot); 44 HInstruction* null_check = new (&allocator) HNullCheck(parameter, 0); 79 HInstruction* parameter1 = new (&allocator) HParameterValue(0, Primitive::kPrimNot); 80 HInstruction* parameter2 = new (&allocator) HParameterValue(0, Primitive::kPrimNot); 87 HInstruction* to_insert = new (&allocator) HNullCheck(parameter1, 0); 105 HInstruction* parameter = new (&allocator) HParameterValue(0, Primitive::kPrimNot); 110 HInstruction* to_add = new (&allocator) HNullCheck(parameter, 0); 125 HInstruction* parameter1 = new (&allocator) HParameterValue(0, Primitive::kPrimNot); 126 HInstruction* with_environment = new (&allocator) HNullCheck(parameter1, 0); 136 GrowableArray<HInstruction*> array(&allocator, 1) [all...] |
constant_folding_test.cc | 116 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 177 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 257 HInstruction* inst1 = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 260 HInstruction* inst2 = inst1->GetPrevious(); 263 HInstruction* inst3 = inst2->GetPrevious(); 329 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 393 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 458 HInstruction* inst = graph->GetBlock(1)->GetFirstInstruction()->InputAt(0); 560 HInstruction* inst1 = graph->GetBlock(4)->GetFirstInstruction()->InputAt(0); 563 HInstruction* inst2 = inst1->GetPrevious() [all...] |
bounds_check_elimination.cc | 31 ValueBound(HInstruction* instruction, int32_t constant) { 61 static bool IsAddOrSubAConstant(HInstruction* instruction, 62 HInstruction** left_instruction, 66 HInstruction* left = bin_op->GetLeft(); 67 HInstruction* right = bin_op->GetRight(); 82 static ValueBound DetectValueBoundFromValue(HInstruction* instruction, bool* found) { 94 HInstruction *left; 108 HInstruction* GetInstruction() const { return instruction_; } 129 static HInstruction* FromArrayLengthToArray(HInstruction* instruction) [all...] |
instruction_simplifier.cc | 138 HInstruction* input_other = instruction->GetLeastConstantLeft(); 163 HInstruction* obj = null_check->InputAt(0); 219 HInstruction* input_const = equal->GetConstantRight(); 221 HInstruction* input_value = equal->GetLeastConstantLeft(); 242 HInstruction* input_const = not_equal->GetConstantRight(); 244 HInstruction* input_value = not_equal->GetLeastConstantLeft(); 265 HInstruction* parent = bool_not->InputAt(0); 267 HInstruction* value = parent->InputAt(0); 278 HInstruction* input = instruction->InputAt(0); 290 HInstruction* value = instruction->GetValue() [all...] |
ssa_builder.cc | 64 HInstruction* input = phi->InputAt(i); 83 HInstruction* equivalent = SsaBuilder::GetReferenceTypeEquivalent(input); 156 for (HUseIterator<HInstruction*> it(instruction->GetUses()); !it.Done(); it.Advance()) { 171 static bool IsPhiEquivalentOf(HInstruction* instruction, HPhi* phi) { 181 HInstruction* equality_instr = it.Current(); 185 HInstruction* left = equality_instr->InputAt(0); 186 HInstruction* right = equality_instr->InputAt(1); 187 HInstruction* int_operand = nullptr; 245 HInstruction* input = ValueOfLocal(block->GetPredecessors().Get(pred), phi->GetRegNumber()); 304 HInstruction* next = phi->GetNext() [all...] |
graph_checker.h | 43 void VisitInstruction(HInstruction* instruction) OVERRIDE; 116 void VisitInstruction(HInstruction* instruction) OVERRIDE; 124 void HandleBooleanInput(HInstruction* instruction, size_t input_index);
|
gvn.cc | 78 void Add(HInstruction* instruction) { 92 HInstruction* Lookup(HInstruction* instruction) const { 98 HInstruction* existing = node->GetInstruction(); 108 bool Contains(HInstruction* instruction) const { 148 Node(HInstruction* instruction, size_t hash_code, Node* next) 152 HInstruction* GetInstruction() const { return instruction_; } 161 HInstruction* const instruction_; 265 size_t HashCode(HInstruction* instruction) const { 377 HInstruction* current = block->GetFirstInstruction() [all...] |
nodes.cc | 37 static void RemoveAsUser(HInstruction* instruction) { 249 HInstruction* first_instruction = header->GetFirstInstruction(); 456 static void UpdateInputsUsers(HInstruction* instruction) { 464 void HBasicBlock::ReplaceAndRemoveInstructionWith(HInstruction* initial, 465 HInstruction* replacement) { 474 HInstruction* instruction) { 483 void HBasicBlock::AddInstruction(HInstruction* instruction) { 491 void HBasicBlock::InsertInstructionBefore(HInstruction* instruction, HInstruction* cursor) { 504 void HBasicBlock::InsertInstructionAfter(HInstruction* instruction, HInstruction* cursor) [all...] |
pretty_printer.h | 29 void PrintPreInstruction(HInstruction* instruction) { 35 void VisitInstruction(HInstruction* instruction) OVERRIDE { 41 void PrintPostInstruction(HInstruction* instruction) { 58 for (HUseIterator<HInstruction*> it(instruction->GetUses()); !it.Done(); it.Advance()) {
|
/external/v8/src/ |
hydrogen-canonicalize.cc | 18 HInstruction* instr = it.Current(); 22 HInstruction::kTruncatingToInt32)) { 23 instr->SetFlag(HInstruction::kAllUsesTruncatingToInt32); 27 HInstruction::kTruncatingToSmi)) { 28 instr->SetFlag(HInstruction::kAllUsesTruncatingToSmi); 30 HInstruction::kTruncatingToInt32)) { 32 instr->SetFlag(HInstruction::kAllUsesTruncatingToInt32); 48 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_;
|
hydrogen-uint32-analysis.cc | 86 if (!use->CheckFlag(HInstruction::kUint32)) { 107 if (use->IsPhi() && !use->CheckFlag(HInstruction::kUint32)) { 108 use->SetFlag(HInstruction::kUint32); 120 if (!phi->CheckFlag(HInstruction::kUint32)) { 127 if (!operand->CheckFlag(HInstruction::kUint32)) { 131 operand->SetFlag(HInstruction::kUint32); 148 phi->ClearFlag(HInstruction::kUint32); 151 if (operand->CheckFlag(HInstruction::kUint32)) { 152 operand->ClearFlag(HInstruction::kUint32); 220 ZoneList<HInstruction*>* uint32_instructions = graph()->uint32_instructions() [all...] |
hydrogen-store-elimination.h | 28 void ProcessInstr(HInstruction* instr, GVNFlagSet flags);
|