| /arkcompiler/runtime_core/libabckit/include/cpp/headers/ |
| D | dynamic_isa_impl.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 29 // NOLINTBEGIN(performance-unnecessary-value-param) 34 const ApiConfig *conf = graph_.GetApiConfig(); in GetModule() 35 AbckitCoreModule *mdl = conf->cDynapi_->iGetModule(inst.GetView()); in GetModule() 37 return core::Module(mdl, conf, graph_.GetFile()); in GetModule() 42 const ApiConfig *conf = graph_.GetApiConfig(); in SetModule() 43 conf->cDynapi_->iSetModule(inst.GetView(), mdl.GetView()); in SetModule() 50 const ApiConfig *conf = graph_.GetApiConfig(); in GetConditionCode() 51 AbckitIsaApiDynamicConditionCode cc = conf->cDynapi_->iGetConditionCode(inst.GetView()); in GetConditionCode() 58 const ApiConfig *conf = graph_.GetApiConfig(); in SetConditionCode() [all …]
|
| D | static_isa.h | 2 * Copyright (c) 2024-2025 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 30 // We restrict constructors in order to prevent C/C++ API mix-up by user. 66 explicit StaticIsa(const Graph &graph) : graph_(graph) {}; in StaticIsa() 67 // NOTE(nsizov): remove maybe unused, use graph_ 68 [[maybe_unused]] const Graph &graph_; variable
|
| /arkcompiler/runtime_core/compiler/optimizer/ |
| D | pass_manager_statistics.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 23 : graph_(graph), in PassManagerStatistics() 24 pass_stat_list_(graph->GetAllocator()->Adapter()), in PassManagerStatistics() 25 pass_stat_stack_(graph->GetAllocator()->Adapter()), in PassManagerStatistics() 32 // clang-format off in PrintStatistics() 50 out << "-----------------------------------------------------------------------------\n"; in PrintStatistics() 56 << std::setw(OFFSET_PASS_NAME - indent) << stat.pass_name << ": " << std::right in PrintStatistics() 63 out << "-----------------------------------------------------------------------------\n"; in PrintStatistics() 65 << std::right << std::setw(OFFSET_DEFAULT) << graph_->GetAllocator()->GetAllocatedSize() in PrintStatistics() [all …]
|
| D | pass_manager.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 26 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 31 : graph_(graph), in PassManager() 32 optimizations_(graph->GetAllocator()->Adapter()), in PassManager() 33 … ANALYSES(details::PredefinedAnalyses::Instantiate<Analysis *>(graph_->GetAllocator(), graph_)), in PassManager() 34 stats_((parent_pm == nullptr) ? graph->GetAllocator()->New<PassManagerStatistics>(graph) in PassManager() 35 : parent_pm->GetStatistics()) in PassManager() 42 std::string delimiters = "~`@#$%^&*()-+=\\|/\"<>;,.[]"; in ClearFileName() 46 return str.substr(0, NAME_MAX - suffix.size()); in ClearFileName() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/ |
| D | pass_manager_statistics.cpp | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 25 : graph_(graph), in PassManagerStatistics() 26 passStatList_(graph->GetAllocator()->Adapter()), in PassManagerStatistics() 27 passStatStack_(graph->GetAllocator()->Adapter()), in PassManagerStatistics() 34 // clang-format off in PrintStatistics() 52 out << "-----------------------------------------------------------------------------\n"; in PrintStatistics() 58 << std::left << std::setw(OFFSET_PASS_NAME - indent) << stat.passName << ": " in PrintStatistics() 65 out << "-----------------------------------------------------------------------------\n"; in PrintStatistics() 67 << std::right << std::setw(OFFSET_DEFAULT) << graph_->GetAllocator()->GetAllocatedSize() in PrintStatistics() [all …]
|
| D | pipeline.h | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 33 explicit Pipeline(Graph *graph) : graph_(graph) {} in Pipeline() 43 return graph_; in GetGraph() 55 Graph *graph_ {nullptr};
|
| D | pass_manager.cpp | 2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 41 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 53 : graph_(graph), in PassManager() 54 optimizations_(graph->GetAllocator()->Adapter()), in PassManager() 55 … analyses_(details::PredefinedAnalyses::Instantiate<Analysis *>(graph_->GetAllocator(), graph_)), in PassManager() 56 stats_((parentPm == nullptr) ? graph->GetAllocator()->New<PassManagerStatistics>(graph) in PassManager() 57 : parentPm->GetStatistics()) in PassManager() 64 std::string delimiters = "~`@#$%^&*()-+=\\|/\"<>;,.[]"; in ClearFileName() 68 return str.substr(0, NAME_MAX - suffix.size()); in ClearFileName() [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
| D | inst_templates.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 binop: |- 20 …auto inst = graph_->CreateInst<%= opc %>(<%= get_type(inst.dtype) %>, GetPc(instruction->GetAddres… 21 <%=template('operands', inst, '')-%> 23 binop_z: |- 25 auto inst_save_state = CreateSaveState(Opcode::SaveState, GetPc(instruction->GetAddress())); 26 …auto inst_check = graph_->CreateInstZeroCheck(<%= get_type(inst.dtype) %>, GetPc(instruction->GetA… 28 if (graph_->IsBytecodeOptimizer()) { 29 …inst_check->SetInput(0, FindOrCreate32BitConstant(instruction->GetImm<<%= inst.get_format %>, 0>()… [all …]
|
| D | phi_resolver.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 25 * - remove phi if it has only SafePoint in users 26 * - if phi has no type, then set type determined from its inputs 31 : graph_(graph), in PhiResolver() 32 real_inputs_(graph->GetLocalAllocator()->Adapter()), in PhiResolver() 33 phi_users_(graph->GetLocalAllocator()->Adapter()), in PhiResolver() 34 real_users_(graph->GetLocalAllocator()->Adapter()) in PhiResolver() 44 dead_marker_ = graph_->NewMarker(); in Run() 45 for (auto bb : graph_->GetBlocksRPO()) { in Run() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/ir_builder/ |
| D | inst_templates.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 binop: |- 20 …auto inst = graph_->CreateInst<%= opc %>(<%= get_type(inst.dtype) %>, GetPc(instruction->GetAddres… 21 <%=template('operands', inst, '')-%> 23 binop_z: |- 25 auto inst_save_state = CreateSaveState(Opcode::SaveState, GetPc(instruction->GetAddress())); 26 …auto inst_check = graph_->CreateInstZeroCheck(<%= get_type(inst.dtype) %>, GetPc(instruction->GetA… 28 if (graph_->IsBytecodeOptimizer()) { 29 …inst_check->SetInput(0, FindOrCreate32BitConstant(instruction->GetImm<<%= inst.get_format %>, 0>()… [all …]
|
| D | inst_builder-inl.h | 2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 30 if (GetGraph()->IsAotMode()) { in GetClassId() 31 return GetRuntime()->GetClassIdWithinFile(GetMethod(), GetRuntime()->GetClass(method_)); in GetClassId() 33 return GetRuntime()->GetClassIdForMethod(GetMethod(), methodId_); in GetClassId() 36 // NOLINTNEXTLINE(misc-definitions-in-headers,readability-function-size) 42 … methodId_ = GetRuntime()->ResolveMethodIndex(Builder()->GetMethod(), bcInst->GetId(0).AsIndex()); in BuildCallHelper() 43 pc_ = Builder()->GetPc(bcInst->GetAddress()); in BuildCallHelper() 44 hasImplicitArg_ = !GetRuntime()->IsMethodStatic(Builder()->GetMethod(), methodId_); in BuildCallHelper() 46 if (GetRuntime()->IsMethodIntrinsic(Builder()->GetMethod(), methodId_)) { in BuildCallHelper() [all …]
|
| D | phi_resolver.h | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 24 * - remove phi if it has only SafePoint in users 25 * - if phi has no type, then set type determined from its inputs 30 : graph_(graph), in PhiResolver() 31 realInputs_(graph->GetLocalAllocator()->Adapter()), in PhiResolver() 32 phiUsers_(graph->GetLocalAllocator()->Adapter()), in PhiResolver() 33 realUsers_(graph->GetLocalAllocator()->Adapter()) in PhiResolver() 43 MarkerHolder markerHolder {graph_}; in Run() 45 for (auto bb : graph_->GetBlocksRPO()) { in Run() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/ir/ |
| D | visualizer_printer.cpp | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 25 PrintProperty("name", ArenaString(passName_, graph_->GetLocalAllocator()->Adapter())); in Print() 26 for (const auto &block : graph_->GetBlocksRPO()) { in Print() 40 --offset_; in PrintEndTag() 68 (*output_) << "\"B" << BBId(block, graph_->GetLocalAllocator()) << "\" "; in PrintDependences() 76 PrintProperty("name", "B" + BBId(block, graph_->GetLocalAllocator())); in PrintBasicBlock() 77 PrintProperty("from_bci", -1); in PrintBasicBlock() 78 PrintProperty("to_bci", -1); in PrintBasicBlock() 79 PrintDependences("predecessors", block->GetPredsBlocks()); in PrintBasicBlock() [all …]
|
| D | ir_constructor.h | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 47 * BASIC_BLOCK(2, -1) { 52 * g->Dump(cerr); 59 …* All remaining arguments are IDs of successors blocks. '-1' value means that there is no… 79 graph_ = graph; in SetGraph() 80 if (graph_->GetStartBlock() == nullptr) { in SetGraph() 81 graph_->CreateStartBlock(); in SetGraph() 83 if (graph_->GetEndBlock() == nullptr) { in SetGraph() 84 graph_->CreateEndBlock(0U); in SetGraph() [all …]
|
| D | aot_data.cpp | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 22 …return -(static_cast<size_t>(RuntimeInterface::IntrinsicId::COUNT) * PointerSize(graph_->GetArch()… in GetEpTableOffset() 27 auto offset = slowPathData_->GetSharedSlowPathOffset(id); in GetSharedSlowPathOffset() 31 return offset - (codeAddress_ + pc + CodeInfo::GetCodeOffset(graph_->GetArch())); in GetSharedSlowPathOffset() 36 …slowPathData_->SetSharedSlowPathOffset(id, codeAddress_ + pc + CodeInfo::GetCodeOffset(graph_->Get… in SetSharedSlowPathOffset() 44 offset += slotId * static_cast<intptr_t>(PointerSize(graph_->GetArch())); in GetEntrypointOffset() 46 offset -= static_cast<intptr_t>(codeAddress_ + pc); in GetEntrypointOffset() 48 offset -= static_cast<intptr_t>(CodeInfo::GetCodeOffset(graph_->GetArch())); in GetEntrypointOffset() 61 auto slot = gotPlt_->find({pfile_, methodId}); in GetPltSlotId() [all …]
|
| /arkcompiler/runtime_core/libabckit/src/irbuilder_dynamic/templates/ |
| D | inst_templates.yaml | 6 # http://www.apache.org/licenses/LICENSE-2.0 15 binop: |- 20 …auto inst = graph_->CreateInst<%= opc %>(<%= get_type(inst.dtype) %>, GetPc(instruction->GetAddres… 21 <%=template('operands', inst, '')-%> 23 binop_z: |- 25 …auto instSaveState = CreateSaveState(compiler::Opcode::SaveState, GetPc(instruction->GetAddress())… 26 …auto instCheck = graph_->CreateInstZeroCheck(<%= get_type(inst.dtype) %>, GetPc(instruction->GetAd… 28 …instCheck->SetInput(0, FindOrCreate32BitConstant(instruction->GetImm<<%= inst.get_format %>, 0>())… 30 instCheck->SetInput(0, <%= inst.get_input_string(1) %>); 32 instCheck->SetInput(1, instSaveState); [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/optimizations/regalloc/ |
| D | reg_alloc_resolver.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 27 …explicit RegAllocResolver(Graph *graph) : graph_(graph), liveness_(&graph->GetAnalysis<LivenessAna… in RegAllocResolver() 53 return graph_->IsBytecodeOptimizer() && inst->GetDstReg() == ACC_REG_ID; in CanStoreToAccumulator() 57 return graph_->IsBytecodeOptimizer() && inst->GetSrcReg(input_number) == ACC_REG_ID; in CanReadFromAccumulator() 69 save_state->GetRootsRegsMask().set(location.GetValue()); in AddLocationToRoots() 71 save_state->GetRootsStackMask()->SetBit(location.GetValue()); in AddLocationToRoots() 74 auto slot_offset = graph->GetStackSlotsCount(); in AddLocationToRoots() 75 save_state->GetRootsStackMask()->SetBit(location.GetValue() + slot_offset); in AddLocationToRoots() 81 return graph_; in GetGraph() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/compiler/optimizer/ir_builder/ |
| D | ets_inst_templates.yaml | 1 # Copyright (c) 2021-2025 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 ets: |- 18 if (graph_->IsAbcKit()) { 24 if (graph_->IsAbcKit()) { 33 UpdateDefinitionAcc(graph_->GetOrCreateUniqueObjectInst()); 35 …UpdateDefinition(instruction->GetVReg<<%=inst.get_format%>, 0>(), graph_->GetOrCreateUniqueObjectI…
|
| /arkcompiler/runtime_core/compiler/optimizer/ir/ |
| D | ir_constructor.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 42 * BASIC_BLOCK(2, -1) { 47 * g->Dump(cerr); 54 …* All remaining arguments are IDs of successors blocks. '-1' value means that there is no… 74 graph_ = graph; in SetGraph() 75 if (graph_->GetStartBlock() == nullptr) { in SetGraph() 76 graph_->CreateStartBlock(); in SetGraph() 78 if (graph_->GetEndBlock() == nullptr) { in SetGraph() 79 graph_->CreateEndBlock(0U); in SetGraph() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/regalloc/ |
| D | reg_alloc_resolver.h | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 28 : graph_(graph), in RegAllocResolver() 29 liveness_(&graph->GetAnalysis<LivenessAnalyzer>()), in RegAllocResolver() 30 inputLocations_(graph->GetLocalAllocator()->Adapter()) in RegAllocResolver() 60 return graph_->IsBytecodeOptimizer() && inst->GetDstReg() == GetAccReg(); in CanStoreToAccumulator() 64 return graph_->IsBytecodeOptimizer() && inst->GetSrcReg(inputNumber) == GetAccReg(); in CanReadFromAccumulator() 76 saveState->GetRootsRegsMask().set(location.GetValue()); in AddLocationToRoots() 78 saveState->GetRootsStackMask()->SetBit(location.GetValue()); in AddLocationToRoots() 81 auto slotOffset = graph->GetStackSlotsCount(); in AddLocationToRoots() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/tests/ |
| D | unit_test.h | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 69 if (argTypes_ == nullptr || index >= argTypes_->size()) { in GetMethodTotalArgumentType() 72 return argTypes_->at(index); in GetMethodTotalArgumentType() 80 return argTypes_->size(); in GetMethodTotalArgumentsCount() 125 // We have issue with QEMU - so reduce memory heap in CommonTest() 126 …em::MemConfig::Initialize(32_MB, 64_MB, 200_MB, 32_MB, 0, 0); // NOLINT(readability-magic-numbers) in CommonTest() 128 …em::MemConfig::Initialize(32_MB, 64_MB, 256_MB, 32_MB, 0, 0); // NOLINT(readability-magic-numbers) in CommonTest() 163 return GetAllocator()->New<Graph>(GetAllocator(), GetLocalAllocator(), arch_, isOsr); 168 return GetAllocator()->New<Graph>(GetAllocator(), GetLocalAllocator(), arch, false); in CreateEmptyGraph() [all …]
|
| /arkcompiler/runtime_core/compiler/tests/ |
| D | unit_test.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 39 if (arg_types == nullptr || index >= arg_types->size()) { in GetMethodTotalArgumentType() 42 return arg_types->at(index); in GetMethodTotalArgumentType() 50 return arg_types->size(); in GetMethodTotalArgumentsCount() 73 // We have issue with QEMU - so reduce memory heap in CommonTest() 108 return GetAllocator()->New<Graph>(GetAllocator(), GetLocalAllocator(), arch_, is_osr); 113 return GetAllocator()->New<Graph>(GetAllocator(), GetLocalAllocator(), arch, false); in CreateEmptyGraph() 118 …auto graph = GetAllocator()->New<Graph>(GetAllocator(), GetLocalAllocator(), arch_, is_dynamic, fa… 119 graph->CreateStartBlock(); [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/ |
| D | live_in_analysis.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 23 if (inst->GetType() == DataType::ANY) { in IsAlive() 26 if (!inst->HasUsers()) { in IsAlive() 29 ASSERT(DataType::IsReference(inst->GetType())); in IsAlive() 31 …ASSERT_PRINT(inst->GetId() < allInsts_.size() && allInsts_[inst->GetId()] == inst, "No inst in Liv… in IsAlive() 32 auto &liveIns = liveIn_[block->GetId()]; in IsAlive() 33 return liveIns.GetBit(inst->GetId()); in IsAlive() 38 auto &liveIns = liveIn_[block->GetId()]; in ProcessBlock() 40 for (auto succ : block->GetSuccsBlocks()) { in ProcessBlock() 41 liveIns |= liveIn_[succ->GetId()]; in ProcessBlock() [all …]
|
| D | live_in_analysis.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 28 : graph_(graph), in LiveInAnalysis() 29 liveIn_(graph_->GetLocalAllocator()->Adapter()), in LiveInAnalysis() 30 allInsts_(graph_->GetLocalAllocator()->Adapter()) in LiveInAnalysis() 39 // Compute set of ref-typed instructions live at the beginning of each 46 auto &liveIns = liveIn_[block->GetId()]; in VisitAlive() 58 return inst->GetOpcode() == Opcode::NewObject || inst->GetOpcode() == Opcode::NewArray; in IsAllocInst() 62 Graph *graph_; 70 if (inst->GetId() >= allInsts_.size()) { in AddInst() 71 allInsts_.resize(inst->GetId() + 1); in AddInst() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/templates/ |
| D | inst_checker_gen.h.erb | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 20 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 27 explicit InstChecker(const Graph *graph) : graph_(graph) {} 31 return graph_->GetBlocksRPO(); 41 return inst->GetInput(input).GetInst()->GetType(); 63 return graph_; 70 CHECKER_ASSERT(!inst->HasUsers()); 72 …CHECKER_DO_IF_NOT_VISITOR(v, CheckType(inst->GetType(), <%= inst.dst.types.map { |x| Operand::cpp_… 73 …std::cerr << "Wrong dst type '" << DataType::ToString(inst->GetType()) << "' for inst:\n" << *inst… [all …]
|