Home
last modified time | relevance | path

Searched full:irtoc (Results 1 – 25 of 103) sorted by relevance

12345

/arkcompiler/runtime_core/static_core/irtoc/
DCMakeLists.txt14 project(irtoc) project
17 …message(FATAL_ERROR "IRtoC core and front-end must be configured before defining target arkcompile…
20 # These variables will be used in the IRtoC frontend and backend.
22 # we need to use these variables to determine irtoc folders.
25 # IRtoC sources:
32 # IRtoC build directory:
39 # IRtoC target:
50 message(FATAL_ERROR "Unsupported IRtoC target")
56 # IRtoC front-end:
66 ${IRTOC_SOURCE_DIR}/lang/irtoc.rb
[all …]
Dintrinsics.yaml14 intrinsics_namespace: irtoc
16 # WARNING: 'class_name' field should be `Irtoc` for all Irtoc intrinsics. If it needs to be changed…
21 class_name: Irtoc
31 description: Invoke slow path of the entrypoint from the irtoc'ed entrypoint
35 class_name: Irtoc
48 class_name: Irtoc
61 class_name: Irtoc
75 class_name: Irtoc
89 class_name: Irtoc
102 class_name: Irtoc
[all …]
DBUILD.gn17 import("irtoc.gni")
24 "$ark_root/irtoc",
56 script = "$ark_root/irtoc/lang/irtoc.rb"
106 ohos_executable("irtoc") {
115 "backend/irtoc.cpp",
137 "$ark_root/irtoc:irtoc_compile",
158 get_label_info("$ark_root/irtoc:irtoc(${host_toolchain})",
161 irtoc_cmd = irtoc_root_out_dir + "/bin/irtoc"
164 irtoc_root_out_dir + "/$ark_subsystem_name/$ark_part_name/irtoc"
170 "--irtoc-output",
[all …]
/arkcompiler/runtime_core/static_core/irtoc/backend/
DCMakeLists.txt17 # irtoc: library
32 panda_add_library(irtoc SHARED ${SOURCES})
35 panda_target_link_libraries(irtoc llvmbackend)
36 panda_target_include_directories(irtoc PUBLIC ${CMAKE_SOURCE_DIR}/libllvmbackend)
39 panda_target_link_libraries(irtoc arkcompiler elfio arkbase)
41 add_dependencies(irtoc asm_defines_generator cross_values)
45 panda_target_include_directories(irtoc
51 panda_target_include_directories(irtoc
55 # Compile one or more irtoc script files into elf object file.
58 # INPUT_FILES - input Irtoc scripts, usually it is files from `irtoc/scripts` folder.
[all …]
Doptions.yaml15 name: irtoc
16 namespace: panda::irtoc
19 - name: irtoc-output
21 default: "irtoc.o"
23 - name: irtoc-output-llvm
27 - name: irtoc-llvm-stats
Dirtoc.cpp20 namespace panda::irtoc { namespace
26 panda::irtoc::g_options.AddOptions(&paParser); in Run()
45 Logger::EnableComponent(Logger::Component::IRTOC); in Run()
56 } // namespace panda::irtoc
60 return panda::irtoc::Run(argc, argv); in main()
Dcompilation.cpp29 namespace panda::irtoc { namespace
152 LOG(INFO, IRTOC) << "LLVM Irtoc compilation: used registers " << usedRegisters_.gpr; in CheckUsedRegisters()
156 …LOG(FATAL, IRTOC) << "LLVM Irtoc compilation callee saved register usage is different from optimiz… in CheckUsedRegisters()
163 LOG(INFO, IRTOC) << "LLVM Irtoc compilation: used fp registers " << usedRegisters_.fp; in CheckUsedRegisters()
167 …LOG(FATAL, IRTOC) << "LLVM Irtoc compilation callee saved fp register usage is different from opti… in CheckUsedRegisters()
190 … LOG(FATAL, IRTOC) << "FATAL: unknown arch: " << compiler::g_options.GetCompilerCrossArch(); in Run()
197 LOG(INFO, IRTOC) << "Start Irtoc compilation for " << GetArchString(arch_) << "..."; in Run()
202 LOG(INFO, IRTOC) << "Irtoc compilation success"; in Run()
204 LOG(FATAL, IRTOC) << "Irtoc compilation failed: " << result.Error(); in Run()
236 LOG(INFO, IRTOC) << "Compile " << unit->GetName(); in Compile()
[all …]
Dfunction.h30 namespace panda::irtoc {
39 // 4. Irtoc Unit tests are compiled
248 … * --interpreter-type option in Ark supports interpreters produced by stock irtoc and llvm irtoc.
249 * To support interpreter compiled by stock irtoc and llvm irtoc we:
282 } // namespace panda::irtoc
Dirtoc_runtime.h29 namespace panda::irtoc {
50 return std::string("Irtoc::") + MethodCast(method)->GetName(); in GetMethodFullName()
55 return "Irtoc"; in GetClassName()
60 return "Irtoc"; in GetClassNameFromMethod()
144 } // namespace panda::irtoc
Dirtoc_options.h21 namespace panda::irtoc {
23 } // namespace panda::irtoc
Dirtoc_options.cpp18 namespace panda::irtoc { namespace
21 } // namespace panda::irtoc
Dfunction.cpp48 namespace panda::irtoc { namespace
108 LOG_IF(!interpreter, FATAL, IRTOC) in RunOptimizations()
111 …LOG(FATAL, IRTOC) << "'" << GetName() << "' handler can not exist with PANDA_LLVM_INTERPRETER disa… in RunOptimizations()
157 LOG(FATAL, IRTOC) << can.Error() << "\n"; in CompileByLLVM()
163 …LOG(FATAL, IRTOC) << "LLVM compilation failed on compilable code graph for " << GetName() << " uni… in CompileByLLVM()
333 LOG(FATAL, IRTOC) << "RunOptimizations failed: register allocation error"; in RunIrtocOptimizations()
339 LOG(FATAL, IRTOC) << "RunOptimizations failed: code generation error"; in RunIrtocOptimizations()
344 LOG(FATAL, IRTOC) << "RunOptimizations failed: code generation error"; in RunIrtocOptimizations()
354 } // namespace panda::irtoc
/arkcompiler/runtime_core/static_core/runtime/entrypoints/
Dentrypoints.yaml19 # - irtoc: entrypoint is generated by irtoc tool
71 properties: [irtoc]
465 properties: [irtoc]
482 properties: [irtoc]
491 properties: [irtoc]
500 properties: [irtoc]
509 properties: [irtoc]
536 properties: [irtoc]
544 properties: [irtoc]
552 properties: [irtoc]
[all …]
/arkcompiler/runtime_core/tests/
DCMakeLists.txt20 add_custom_target(irtoc-interpreter-tests COMMENT "Running irtoc interpreter tests")
21 add_custom_target(irtoc-opcode-suite COMMENT "Running irtoc interpreter opcode test suite")
23 add_dependencies(tests irtoc-interpreter-tests)
24 add_dependencies(irtoc-interpreter-tests irtoc-opcode-suite)
335 # Skip run with irtoc implemented interpreter
407 …f (NOT ARG_SKIP_INTERPRETER_IRTOC AND NOT PANDA_TARGET_ARM32) # Arm32 is not supported in the Irtoc
410 TARGET ${target}-g1-gc-irtoc
414 …ONS "${CUR_RUNTIME_OPTIONS}" "--compiler-enable-jit=false --gc-type=g1-gc --interpreter-type=irtoc"
421 add_dependencies(${suite} ${target}-g1-gc-irtoc)
893 add_test_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/irtoc-interpreter-tests/sum.pa")
[all …]
/arkcompiler/runtime_core/static_core/tests/
DCMakeLists.txt19 add_custom_target(irtoc-interpreter-tests COMMENT "Running irtoc interpreter tests")
20 add_custom_target(irtoc-opcode-suite COMMENT "Running irtoc interpreter opcode test suite")
28 add_dependencies(core_tests irtoc-interpreter-tests)
29 add_dependencies(irtoc-interpreter-tests irtoc-opcode-suite)
39 add_subdirectory(irtoc-interpreter-tests/irtoc-tag)
459 if (NOT PANDA_TARGET_ARM32) # Arm32 is not supported in the Irtoc
461 set(interp_types "cpp" "irtoc" "llvm")
463 set(interp_types "cpp" "irtoc")
550 TARGET ${target}-irtoc-osr-jit
551 SUBDIR ${suite}-irtoc-osr-jit
[all …]
/arkcompiler/runtime_core/static_core/tests/irtoc-interpreter-tests/irtoc-tag/
DCMakeLists.txt16 project(irtoc-interpreter-tag-tests)
24 set(ISA_FILE "${CMAKE_SOURCE_DIR}/irtoc/lang/isa.rb")
38 add_custom_target(irtoc-interpreter-tests-tag-generator
51 add_custom_target(irtoc-interpreter-tests-tag
56 -o "--interpreter-type=irtoc --gc-type=g1-gc"
60 add_dependencies(irtoc-interpreter-tests-tag irtoc-interpreter-tests-tag-generator)
/arkcompiler/runtime_core/static_core/irtoc/lang/
Dirtoc.rb34 #include "irtoc/backend/compilation.h"
47 namespace panda::irtoc \{
54 \} // namespace panda::irtoc
59 class Irtoc class
200 irtoc = Irtoc.new
201 irtoc.run(input_file)
202 functions += irtoc.functions
203 cpp_functions += irtoc.cpp_functions if irtoc.cpp_functions
207 irtoc = Irtoc.new
208 irtoc.compile_for_llvm = true
[all …]
/arkcompiler/runtime_core/static_core/docs/
Dirtoc.md1 # Irtoc tool
3 **Irtoc**(Ir-To-Code) tool is aimed to compile a manually created IR (intermediate representation) …
9 ## Irtoc language
13 Irtoc DSL is a wrapper above the `IrConstructor`. It reads compiler's `instructions.yaml` file to g…
15 Each opcode in the IR instructions has corresponding token in the irtoc lang. For example, IR instr…
29 available in Irtoc lang. They can be set in the similar way as in the IrConstructor:
35 for Irtoc. For example, for creating a control flow: Label, Else, While.
54 Irtoc uses instruction `If` and pseudo instruction `Else` to express conditional execution.
/arkcompiler/runtime_core/docs/
Dirtoc.md1 # Irtoc tool
3 **Irtoc**(Ir-To-Code) tool is aimed to compile a manually created IR (intermediate representation) …
9 ## Irtoc language
13 Irtoc DSL is a wrapper above the `IrConstructor`. It reads compiler's `instructions.yaml` file to g…
15 Each opcode in the IR instructions has corresponding token in the irtoc lang. For example, IR instr…
29 available in Irtoc lang. They can be set in the similar way as in the IrConstructor:
35 for Irtoc. For example, for creating a control flow: Label, Else, While.
54 Irtoc uses instruction `If` and pseudo instruction `Else` to express conditional execution.
/arkcompiler/runtime_core/static_core/runtime/tests/
Dirtoc_test.cpp34 TEST(Irtoc, AddValues) in TEST() argument
40 TEST(Irtoc, IncMaxValue) in TEST() argument
47 TEST(Irtoc, IncMaxValueLabels) in TEST() argument
88 TEST(Irtoc, Loop) in TEST() argument
97 TEST(Irtoc, SeqLabels) in TEST() argument
119 TEST(Irtoc, Relocations) in TEST() argument
140 TEST(Irtoc, RelocationsParams) in TEST() argument
148 TEST(Irtoc, Labels) in TEST() argument
159 TEST(Irtoc, ReturnBeforeLabel) in TEST() argument
/arkcompiler/runtime_core/static_core/runtime/interpreter/
Dinterpreter_impl.cpp35 enum InterpreterType { CPP = 0, IRTOC, LLVM }; enumerator
42 #if !defined(PANDA_TARGET_ARM32) // Arm32 sticks to cpp - irtoc is not available there in ExecuteImpl()
49 } else if (interpreterTypeStr == "irtoc") { in ExecuteImpl()
50 interpreterType = InterpreterType::IRTOC; in ExecuteImpl()
57 interpreterType = InterpreterType::IRTOC; in ExecuteImpl()
61 if (interpreterType == InterpreterType::IRTOC) { in ExecuteImpl()
87 LOG(DEBUG, RUNTIME) << "Setting up LLVM Irtoc dispatch table"; in ExecuteImpl()
97 } else if (interpreterType == InterpreterType::IRTOC) { in ExecuteImpl()
99 LOG(DEBUG, RUNTIME) << "Setting up Irtoc dispatch table"; in ExecuteImpl()
107 LOG(FATAL, RUNTIME) << "--interpreter-type=irtoc is not supported in this configuration"; in ExecuteImpl()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
Dinstructions.yaml137 modes: [jit_aot, irtoc]
144 modes: [jit_aot, irtoc]
350 modes: [jit_aot, irtoc]
357 modes: [irtoc]
364 modes: [jit_aot, irtoc]
371 modes: [irtoc]
812 modes: [irtoc]
827 modes: [jit_aot, irtoc]
925 modes: [jit_aot, irtoc]
932 modes: [jit_aot, irtoc]
[all …]
/arkcompiler/runtime_core/static_core/tests/benchmarks/
DCMakeLists.txt80 add_custom_target(benchmarks-panda-assembly-irtoc
81 COMMENT "Running benchmarks in Panda Assembly in Irtoc interpreter")
91 benchmarks-panda-assembly-irtoc
142 panda_add_asm_file(TARGET "${name}-irtoc"
151 …type=g1-gc" "--compiler-enable-jit=false" "--limit-standard-alloc=true" "--interpreter-type=irtoc")
152 add_dependencies(${common_target_basename}-irtoc "${name}-irtoc")
164 add_dependencies(${common_target_basename}-irtoc "${name}-llvmirtoc")
/arkcompiler/runtime_core/static_core/irtoc/templates/
DIrtocPostPlugins.cmake15 set(GENERATED_DIRECTORY ${PANDA_BINARY_ROOT}/irtoc/generated)
20 TEMPLATE ${PANDA_ROOT}/irtoc/templates/plugins.txt.erb
/arkcompiler/runtime_core/static_core/cmake/
DHostTools.cmake100 "${host_tools_build_dir}/irtoc/irtoc_fastpath/irtoc_fastpath.o"
101 "${host_tools_build_dir}/irtoc/irtoc_fastpath/irtoc_fastpath_llvm.o"
102 "${host_tools_build_dir}/irtoc/irtoc_interpreter/irtoc_interpreter.o"
103 "${host_tools_build_dir}/irtoc/irtoc_interpreter/irtoc_interpreter_llvm.o"

12345