Home
last modified time | relevance | path

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

12

/arkcompiler/runtime_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 …]
DBUILD.gn21 "$ark_root/irtoc",
27 rebase_path("$ark_root/irtoc/scripts/allocation.irt", root_build_dir),
28 rebase_path("$ark_root/irtoc/scripts/resolvers.irt", root_build_dir),
29 rebase_path("$ark_root/irtoc/scripts/interpreter.irt", root_build_dir),
30 rebase_path("$ark_root/irtoc/scripts/monitors.irt", root_build_dir),
31 rebase_path("$ark_root/irtoc/scripts/check_cast.irt", root_build_dir),
63 script = "$ark_root/irtoc/lang/irtoc.rb"
104 ohos_executable("irtoc") {
110 "backend/irtoc.cpp",
128 "$ark_root/irtoc:irtoc_compile",
[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 …]
Dirtoc_runner.sh15 # This is workaround for running the irtoc tool from the GN build system. I didn't figure out how t…
16 # irtoc executable directly via `action` template.
DREADME.md1 # IRTOC chapter
/arkcompiler/runtime_core/irtoc/backend/
DCMakeLists.txt17 # irtoc: library
25 add_library(irtoc SHARED ${SOURCES}) target
27 target_link_libraries(irtoc arkcompiler elfio arkbase)
29 add_dependencies(irtoc asm_defines_generator cross_values)
33 target_include_directories(irtoc
40 # Compile one or more irtoc script files into elf object file.
43 # INPUT_FILES - input Irtoc scripts, usually it is files from `irtoc/scripts` folder.
68 set(SOURCES ${IRTOC_COMPILE_OUTPUT} ${IRTOC_SOURCE_DIR}/backend/irtoc.cpp)
75 target_link_libraries(${IRTOC_EXEC} irtoc)
80 # final target: run irtoc tool, that will generate resulting object file
[all …]
Doptions.yaml15 name: irtoc
16 namespace: panda::irtoc
19 - name: irtoc-output
21 default: "irtoc.o"
Dirtoc.cpp20 namespace panda::irtoc { namespace
26 panda::irtoc::Options irtoc_options(argv[0]); in Run()
42 Logger::EnableComponent(Logger::Component::IRTOC); in Run()
53 } // namespace panda::irtoc
57 return panda::irtoc::Run(argc, argv); in main()
Dcompilation_unit.cpp47 namespace panda::irtoc { namespace
68 … LOG(FATAL, IRTOC) << "FATAL: unknown arch: " << compiler::options.GetCompilerCrossArch(); in Run()
70 … LOG(FATAL, IRTOC) << "Backend is not supported: " << compiler::options.GetCompilerCrossArch(); in Run()
74 LOG(INFO, IRTOC) << "Start Irtoc compilation for " << GetArchString(arch_) << "..."; in Run()
79 LOG(INFO, IRTOC) << "Irtoc compilation success"; in Run()
81 LOG(ERROR, IRTOC) << "Irtoc compilation failed: " << result.Error(); in Run()
102 LOG(INFO, IRTOC) << "Compile " << unit->GetName(); in Compile()
220 LOG(FATAL, IRTOC) << "RunOptimizations failed: register allocation error"; in RunIrtocOptimizations()
227 LOG(FATAL, IRTOC) << "RunOptimizations failed: code generation error"; in RunIrtocOptimizations()
232 LOG(FATAL, IRTOC) << "RunOptimizations failed: code generation error"; in RunIrtocOptimizations()
[all …]
Dirtoc_runtime.h28 namespace panda::irtoc {
44 return std::string("Irtoc::") + MethodCast(method)->GetName(); in GetMethodFullName()
49 return "Irtoc"; in GetClassName()
54 return "Irtoc"; in GetClassNameFromMethod()
122 } // namespace panda::irtoc
Dcompilation_unit.h29 namespace panda::irtoc {
140 } // namespace panda::irtoc
/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/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/runtime/tests/
Dirtoc_test.cpp33 TEST(Irtoc, AddValues) in TEST() argument
39 TEST(Irtoc, IncMaxValue) in TEST() argument
46 TEST(Irtoc, IncMaxValueLabels) in TEST() argument
87 TEST(Irtoc, Loop) in TEST() argument
96 TEST(Irtoc, SeqLabels) in TEST() argument
118 TEST(Irtoc, Relocations) in TEST() argument
139 TEST(Irtoc, RelocationsParams) in TEST() argument
147 TEST(Irtoc, Labels) in TEST() argument
158 TEST(Irtoc, ReturnBeforeLabel) in TEST() argument
/arkcompiler/runtime_core/runtime/entrypoints/
Dentrypoints.yaml19 # - irtoc: entrypoint is generated by irtoc tool
71 properties: [irtoc]
448 properties: [irtoc]
465 properties: [irtoc]
474 properties: [irtoc]
483 properties: [irtoc]
492 properties: [irtoc]
519 properties: [irtoc]
526 properties: [irtoc]
533 properties: [irtoc]
[all …]
/arkcompiler/runtime_core/irtoc/lang/
Dirtoc.rb33 #include "irtoc/backend/compilation_unit.h"
39 namespace panda::irtoc \{
44 \} // namespace panda::irtoc
49 class Irtoc class
101 …# Since Irtoc can be executed in parallel for the same files and from same working directory, we n…
183 irtoc = Irtoc.new
184 irtoc.run(input_file)
185 functions += irtoc.functions
186 cpp_functions += irtoc.cpp_functions if irtoc.cpp_functions
Doptions.rb27 opts.banner = "Usage: irtoc.rb [options] INPUT_FILE"
65 raise "Irtoc plugin doesn't specifiy its name: #{full_plugin_path}" unless line_matches
/arkcompiler/runtime_core/compiler/optimizer/ir/
Dinstructions.yaml130 modes: [jit_aot, irtoc]
137 modes: [jit_aot, irtoc]
305 modes: [jit_aot, irtoc]
312 modes: [irtoc]
319 modes: [jit_aot, irtoc]
326 modes: [irtoc]
601 modes: [irtoc]
643 modes: [irtoc]
658 modes: [jit_aot, irtoc]
756 modes: [jit_aot, irtoc]
[all …]
/arkcompiler/runtime_core/irtoc/templates/
DIrtocPostPlugins.cmake14 set(GENERATED_DIRECTORY ${PANDA_BINARY_ROOT}/irtoc/generated)
19 TEMPLATE ${PANDA_ROOT}/irtoc/templates/plugins.txt.erb
/arkcompiler/runtime_core/runtime/
DCMakeLists.txt330 set(IRTOC_FASTPATH_OBJ "${binary_dir}/irtoc/irtoc_fastpath/irtoc_fastpath.o")
331 set(IRTOC_INTERPRETER_OBJ "${binary_dir}/irtoc/irtoc_interpreter/irtoc_interpreter.o")
341 …# Due to cmake complain about absence of the irtoc file, we just fake it until it will be generated
342 execute_process(COMMAND mkdir -p ${binary_dir}/irtoc/irtoc_fastpath)
344 execute_process(COMMAND mkdir -p ${binary_dir}/irtoc/irtoc_interpreter)
709 # We run irtoc tests only in host mode, because irtoc tests are intended for testing only Irtoc lan…
718 set(IRTOC_TESTS_OBJ "${binary_dir}/irtoc/irtoc_tests/irtoc_tests.o")
724 …# Due to cmake complain about absence of the irtoc file, we just fake it until it will be generated
725 execute_process(COMMAND mkdir -p ${binary_dir}/irtoc/irtoc_tests)
729 …# In Host tools mode we only generate Irtoc files for irtoc_tests, we shouldn't create irtoc_tests…
/arkcompiler/runtime_core/compiler/
DBUILD.gn477 script = "$ark_root/irtoc/lang/irtoc.rb"
481 rebase_path("$ark_root/irtoc/scripts/interpreter.irt", root_build_dir),
506 script = "$ark_root/irtoc/lang/irtoc.rb"
510 rebase_path("$ark_root/irtoc/scripts/interpreter.irt", root_build_dir),
/arkcompiler/runtime_core/
DREADME_zh.md36 ├── irtoc # IR to code工具,将手工创建的IR编译为目标代码,具体可以参考:docs/irtoc.md
/arkcompiler/runtime_core/runtime/interpreter/
Dinterpreter_impl.cpp32 // If it is GN Build with disabled asmjit and irtoc is not available in ExecuteImpl()
38 if ((Runtime::GetOptions().GetInterpreterType() == "irtoc") && with_irtoc) { in ExecuteImpl()
/arkcompiler/runtime_core/compiler/optimizer/templates/intrinsics/
Dintrinsics_enum.inl.erb34 // Irtoc intrinsics
Dintrinsics_codegen.inl.erb27 % if intrinsic.class_name == "Irtoc"

12