Home
last modified time | relevance | path

Searched refs:save_state (Results 1 - 13 of 13) sorted by relevance

/arkcompiler/runtime_core/compiler/optimizer/optimizations/regalloc/
H A Dreg_alloc_resolver.h60 void PropagateCallerMasks(SaveStateInst *save_state);
62 void FillSaveStateRootsMask(SaveStateInst *save_state, Inst *user, SaveStateInst *target_ss);
66 static inline void AddLocationToRoots(Location location, SaveStateInst *save_state, const Graph *graph) in AddLocationToRoots() argument
69 save_state->GetRootsRegsMask().set(location.GetValue()); in AddLocationToRoots()
71 save_state->GetRootsStackMask()->SetBit(location.GetValue()); in AddLocationToRoots()
75 save_state->GetRootsStackMask()->SetBit(location.GetValue() + slot_offset); in AddLocationToRoots()
H A Dreg_alloc_resolver.cpp175 void RegAllocResolver::PropagateCallerMasks(SaveStateInst *save_state) in PropagateCallerMasks() argument
177 save_state->CreateRootsStackMask(GetGraph()->GetAllocator()); in PropagateCallerMasks()
178 auto user = GetExplicitUser(GetFirstUserOrInst(save_state)); in PropagateCallerMasks()
181 FillSaveStateRootsMask(save_state, user, save_state); in PropagateCallerMasks()
184 void RegAllocResolver::FillSaveStateRootsMask(SaveStateInst *save_state, Inst *user, SaveStateInst *target_ss) in FillSaveStateRootsMask() argument
188 for (size_t i = 0; i < save_state->GetInputsCount(); ++i) { in FillSaveStateRootsMask()
189 auto input_inst = save_state->GetDataFlowInput(i); in FillSaveStateRootsMask()
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/
H A Dinst_builder-inl.h30 auto save_state = CreateSaveState(Opcode::SaveState, GetPc(bc_inst->GetAddress())); in BuildLoadFromPool() local
38 inst->SetInput(0, save_state); in BuildLoadFromPool()
40 AddInstruction(save_state); in BuildLoadFromPool()
H A Dinst_builder.cpp195 void InstBuilder::RemoveNotDominateInputs(SaveStateInst *save_state) in RemoveNotDominateInputs() argument
198 size_t inputs_count = save_state->GetInputsCount(); in RemoveNotDominateInputs()
200 auto input_inst = save_state->GetInput(idx).GetInst(); in RemoveNotDominateInputs()
201 // We can don't call IsDominate, if save_state and input_inst in one basic block. in RemoveNotDominateInputs()
203 if (!input_inst->InSameBlockOrDominate(save_state)) { in RemoveNotDominateInputs()
204 save_state->RemoveInput(idx); in RemoveNotDominateInputs()
207 ASSERT(input_inst->GetBasicBlock() != save_state->GetBasicBlock() || input_inst->IsDominate(save_state)); in RemoveNotDominateInputs()
H A Dphi_resolver.h63 auto save_state = static_cast<SaveStateInst *>(user); in Run() local
65 size_t inputs_count = save_state->GetInputsCount(); in Run()
67 auto input_inst = save_state->GetInput(idx).GetInst(); in Run()
69 save_state->RemoveInput(idx); in Run()
H A Dinst_builder.h104 static void RemoveNotDominateInputs(SaveStateInst *save_state);
/arkcompiler/runtime_core/compiler/tests/
H A Dreg_alloc_common_test.cpp224 auto save_state = null_check->GetSaveState(); in TEST_F()
225 // Check that save_state's inputs are added to the roots in TEST_F()
226 auto roots = save_state->GetRootsRegsMask(); in TEST_F()
227 for (auto input : save_state->GetInputs()) { in TEST_F()
H A Dinst_test.cpp543 auto save_state = graph->CreateInstSaveState(); in TEST_F() local
546 save_state->AppendInput(graph->FindOrCreateConstant(i)); in TEST_F()
547 save_state->SetVirtualRegister(i, VirtualRegister(i, false)); in TEST_F()
552 ASSERT_EQ(user, save_state); in TEST_F()
H A Dcompiler_inst_test.cpp502 auto save_state = inst->CastToSaveState(); in HWTEST_F()
503 EXPECT_EQ(save_state->Clone(graph)->GetOpcode(), Opcode::SaveState); in HWTEST_F()
/arkcompiler/runtime_core/compiler/optimizer/analysis/
H A Dliveness_analyzer.cpp369 auto save_state = inst->GetSaveState(); in AdjustInputsLifetime() local
370 ASSERT(save_state != nullptr); in AdjustInputsLifetime()
372 for (auto ss_input : save_state->GetInputs()) { in AdjustInputsLifetime()
373 auto input_inst = save_state->GetDataFlowInput(ss_input.GetInst()); in AdjustInputsLifetime()
/arkcompiler/runtime_core/bytecode_optimizer/constant_propagation/
H A Dconstant_propagation.h125 void InsertSaveState(Inst *base_inst, Inst *save_state);
H A Dconstant_propagation.cpp651 void ConstantPropagation::InsertSaveState(Inst *base_inst, Inst *save_state) in InsertSaveState() argument
655 bb->InsertAfter(save_state, base_inst); in InsertSaveState()
660 bb->InsertBefore(save_state, *first_inst); in InsertSaveState()
662 bb->AppendInst(save_state); in InsertSaveState()
/arkcompiler/runtime_core/compiler/optimizer/ir/
H A Dir_constructor.h1021 auto save_state = graph_->CreateInstSaveState();
1022 save_state->SetId(static_cast<int>(graph_->GetCurrentInstructionId()) + 1);
1023 graph_->SetCurrentInstructionId(save_state->GetId() + 1);
1024 inst->GetBasicBlock()->InsertBefore(save_state, inst);
1025 inst->SetSaveState(save_state);

Completed in 10 milliseconds