Searched defs:environment (Results 1 - 11 of 11) sorted by relevance

/art/compiler/optimizing/
H A Dlicm.cc28 * Returns whether `instruction` has all its inputs and environment defined
43 for (HEnvironment* environment = instruction->GetEnvironment();
44 environment != nullptr;
45 environment = environment->GetParent()) {
46 for (size_t i = 0, e = environment->Size(); i < e; ++i) {
47 HInstruction* input = environment->GetInstructionAt(i);
51 // We can move an instruction that takes a loop header phi in the environment:
65 * If `environment` has a loop header phi, we replace it with its first input.
67 static void UpdateLoopPhisIn(HEnvironment* environment, HLoopInformatio argument
[all...]
H A Dnodes_test.cc27 * and environment lists.
54 HEnvironment* environment = new (&allocator) HEnvironment( local
56 null_check->SetRawEnvironment(environment);
57 environment->SetRawEnvAt(0, parameter);
139 HEnvironment* environment = new (&allocator) HEnvironment( local
144 environment->CopyFrom(array);
145 with_environment->SetRawEnvironment(environment);
165 environment->SetAndCopyParentChain(&allocator, parent1);
H A Dcode_sinking.cc314 // Check environment users of the instruction. Some of these users require
318 HEnvironment* environment = use.GetUser(); local
319 HInstruction* user = environment->GetHolder();
344 // Drop the environment use not in the list of post-dominated block. This is
348 HEnvironment* environment = use.GetUser(); local
349 HInstruction* user = environment->GetHolder();
351 environment->RemoveAsUserOfInput(use.GetIndex());
352 environment->SetRawEnvAt(use.GetIndex(), nullptr);
H A Dprepare_for_register_allocation.cc54 // Add a fake environment for String.charAt() inline info as we want
58 HEnvironment* environment = new (arena) HEnvironment(arena, local
63 check->InsertRawEnvironment(environment);
198 // Now do a thorough environment check that this is really coming from the same instruction in
199 // the same inlined graph. Unfortunately, we have to go through the whole environment chain.
204 // Different environment chain length. This happens when a method is called
H A Dscheduler_test.cc129 HEnvironment* environment = new (&allocator) HEnvironment(&allocator, local
134 div_check->SetRawEnvironment(environment);
135 environment->SetRawEnvAt(0, add2);
137 environment->SetRawEnvAt(1, mul);
H A Dregister_allocation_resolver.cc349 // Walk over the environment uses, and update their locations.
357 HEnvironment* environment = env_use->GetEnvironment(); local
358 environment->SetLocationAt(env_use->GetInputIndex(), source);
H A Dgraph_checker.cc378 // Ensure the environment uses entries are consistent.
425 AddError(StringPrintf("Instruction %s:%d in block %d requires an environment "
432 // Ensure an instruction having an environment is dominated by the
433 // instructions contained in the environment.
434 for (HEnvironment* environment = instruction->GetEnvironment();
435 environment != nullptr;
436 environment = environment->GetParent()) {
437 for (size_t i = 0, e = environment->Size(); i < e; ++i) {
438 HInstruction* env_instruction = environment
464 HEnvironment* environment = instruction->GetEnvironment(); local
[all...]
H A Dcode_generator.cc129 HEnvironment* environment = instruction->GetEnvironment(); local
131 if (environment->GetInstructionAt(i) != nullptr) {
132 Primitive::Type type = environment->GetInstructionAt(i)->GetType();
133 DCHECK(CheckType(type, environment->GetLocationAt(i)))
134 << type << " " << environment->GetLocationAt(i);
136 DCHECK(environment->GetLocationAt(i).IsInvalid())
137 << environment->GetLocationAt(i);
775 for (HEnvironment* environment = instruction->GetEnvironment();
776 environment != nullptr;
777 environment
819 HEnvironment* const environment = instruction->GetEnvironment(); local
962 EmitEnvironment(HEnvironment* environment, SlowPathCode* slow_path) argument
[all...]
H A Dinstruction_builder.cc216 HEnvironment* environment = new (arena_) HEnvironment( local
222 environment->CopyFrom(*current_locals_);
223 instruction->SetRawEnvironment(environment);
303 // But we're still creating the environment with locals from the top of the block.
H A Dssa_liveness_analysis.h165 * An environment use position represents a live interval for environment use at a given position.
169 EnvUsePosition(HEnvironment* environment, argument
173 : environment_(environment),
177 DCHECK(environment != nullptr);
269 DCHECK(first_env_use_ == nullptr) << "A temporary cannot have environment user";
276 // Record use of an input. The use will be recorded as an environment use if
277 // `environment` is not null and as register use otherwise. If `actual_user`
280 HEnvironment* environment,
284 bool is_environment = (environment !
279 AddUse(HInstruction* instruction, HEnvironment* environment, size_t input_index, HInstruction* actual_user = nullptr, bool keep_alive = false) argument
[all...]
H A Dnodes.h1807 void CopyFrom(HEnvironment* environment);
1811 // require an environment (like HDeoptimization) in the loop pre-header.
1860 // The instruction that holds this environment.
2064 void SetRawEnvironment(HEnvironment* environment) { argument
2066 DCHECK_EQ(environment->GetHolder(), this);
2067 environment_ = environment;
2070 void InsertRawEnvironment(HEnvironment* environment) { argument
2072 DCHECK_EQ(environment->GetHolder(), this);
2073 DCHECK(environment->GetParent() == nullptr);
2074 environment
2082 CopyEnvironmentFrom(HEnvironment* environment) argument
2092 CopyEnvironmentFromWithLoopPhiAdjustment(HEnvironment* environment, HBasicBlock* block) argument
[all...]

Completed in 115 milliseconds