1b1994897Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2b1994897Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3b1994897Sopenharmony_ci# you may not use this file except in compliance with the License.
4b1994897Sopenharmony_ci# You may obtain a copy of the License at
5b1994897Sopenharmony_ci#
6b1994897Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0
7b1994897Sopenharmony_ci#
8b1994897Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9b1994897Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10b1994897Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11b1994897Sopenharmony_ci# See the License for the specific language governing permissions and
12b1994897Sopenharmony_ci# limitations under the License.
13b1994897Sopenharmony_ci
14b1994897Sopenharmony_ciimport("//arkcompiler/runtime_core/ark_config.gni")
15b1994897Sopenharmony_ciconfig("arkcompiler_public_config") {
16b1994897Sopenharmony_ci  include_dirs = [
17b1994897Sopenharmony_ci    "$ark_root/compiler",
18b1994897Sopenharmony_ci    "$ark_root/compiler/code_info",
19b1994897Sopenharmony_ci    "$ark_root/compiler/optimizer/ir",
20b1994897Sopenharmony_ci    "$target_gen_dir/generated",
21b1994897Sopenharmony_ci  ]
22b1994897Sopenharmony_ci
23b1994897Sopenharmony_ci  include_dirs += platform_include_dirs
24b1994897Sopenharmony_ci
25b1994897Sopenharmony_ci  if (enable_bytecode_optimizer) {
26b1994897Sopenharmony_ci    defines = [ "ENABLE_BYTECODE_OPT" ]
27b1994897Sopenharmony_ci  }
28b1994897Sopenharmony_ci
29b1994897Sopenharmony_ci  is_x64 =
30b1994897Sopenharmony_ci      current_cpu == "amd64" || current_cpu == "x64" || current_cpu == "x86_64"
31b1994897Sopenharmony_ci
32b1994897Sopenharmony_ci  cflags_cc = []
33b1994897Sopenharmony_ci  if (is_x64 || current_cpu == "arm64") {
34b1994897Sopenharmony_ci    if (!is_mingw) {
35b1994897Sopenharmony_ci      cflags_cc += [
36b1994897Sopenharmony_ci        "-DPANDA_COMPILER_TARGET_AARCH64",
37b1994897Sopenharmony_ci        "-DUSE_VIXL_ARM64",
38b1994897Sopenharmony_ci      ]
39b1994897Sopenharmony_ci    }
40b1994897Sopenharmony_ci  }
41b1994897Sopenharmony_ci  if (ark_enable_compiler_x64) {
42b1994897Sopenharmony_ci    cflags_cc += [ "-DPANDA_COMPILER_TARGET_X86_64" ]
43b1994897Sopenharmony_ci  }
44b1994897Sopenharmony_ci}
45b1994897Sopenharmony_ci
46b1994897Sopenharmony_cilibarkcompiler_sources = [
47b1994897Sopenharmony_ci  "compiler_logger.cpp",
48b1994897Sopenharmony_ci  "compiler_options.cpp",
49b1994897Sopenharmony_ci  "optimizer/analysis/dominators_tree.cpp",
50b1994897Sopenharmony_ci  "optimizer/analysis/linear_order.cpp",
51b1994897Sopenharmony_ci  "optimizer/analysis/liveness_analyzer.cpp",
52b1994897Sopenharmony_ci  "optimizer/analysis/loop_analyzer.cpp",
53b1994897Sopenharmony_ci  "optimizer/analysis/rpo.cpp",
54b1994897Sopenharmony_ci  "optimizer/ir/basicblock.cpp",
55b1994897Sopenharmony_ci  "optimizer/ir/dump.cpp",
56b1994897Sopenharmony_ci  "optimizer/ir/graph.cpp",
57b1994897Sopenharmony_ci  "optimizer/ir/graph_checker.cpp",
58b1994897Sopenharmony_ci  "optimizer/ir/graph_cloner.cpp",
59b1994897Sopenharmony_ci  "optimizer/ir/inst.cpp",
60b1994897Sopenharmony_ci  "optimizer/ir/locations.cpp",
61b1994897Sopenharmony_ci  "optimizer/ir_builder/inst_builder.cpp",
62b1994897Sopenharmony_ci  "optimizer/ir_builder/ir_builder.cpp",
63b1994897Sopenharmony_ci  "optimizer/optimizations/branch_elimination.cpp",
64b1994897Sopenharmony_ci  "optimizer/optimizations/cleanup.cpp",
65b1994897Sopenharmony_ci  "optimizer/optimizations/lowering.cpp",
66b1994897Sopenharmony_ci  "optimizer/optimizations/move_constants.cpp",
67b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/interference_graph.cpp",
68b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_alloc.cpp",
69b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_alloc_base.cpp",
70b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_alloc_graph_coloring.cpp",
71b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_alloc_resolver.cpp",
72b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_alloc_stat.cpp",
73b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/reg_map.cpp",
74b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/spill_fills_resolver.cpp",
75b1994897Sopenharmony_ci  "optimizer/optimizations/regalloc/split_resolver.cpp",
76b1994897Sopenharmony_ci  "optimizer/optimizations/vn.cpp",
77b1994897Sopenharmony_ci  "optimizer/pass.cpp",
78b1994897Sopenharmony_ci  "optimizer/pass_manager.cpp",
79b1994897Sopenharmony_ci  "optimizer/pass_manager_statistics.cpp",
80b1994897Sopenharmony_ci]
81b1994897Sopenharmony_ci
82b1994897Sopenharmony_cilibarkcompiler_sources += [ "$target_gen_dir/generated/inst_builder_gen.cpp" ]
83b1994897Sopenharmony_ci
84b1994897Sopenharmony_cilibarkcompiler_configs = [
85b1994897Sopenharmony_ci  ":arkcompiler_public_config",
86b1994897Sopenharmony_ci  "$ark_root:ark_config",
87b1994897Sopenharmony_ci  "$ark_root/libpandabase:arkbase_public_config",
88b1994897Sopenharmony_ci  "$ark_root/libpandafile:arkfile_public_config",
89b1994897Sopenharmony_ci]
90b1994897Sopenharmony_ci
91b1994897Sopenharmony_ciohos_shared_library("libarkcompiler") {
92b1994897Sopenharmony_ci  stack_protector_ret = false
93b1994897Sopenharmony_ci  sources = libarkcompiler_sources
94b1994897Sopenharmony_ci
95b1994897Sopenharmony_ci  configs = libarkcompiler_configs
96b1994897Sopenharmony_ci
97b1994897Sopenharmony_ci  deps = [
98b1994897Sopenharmony_ci    ":codegen_language_extensions_h",
99b1994897Sopenharmony_ci    ":compiler_events_gen_h",
100b1994897Sopenharmony_ci    ":compiler_interface_extensions_inl_h",
101b1994897Sopenharmony_ci    ":compiler_logger_components_inc",
102b1994897Sopenharmony_ci    ":compiler_options_gen_h",
103b1994897Sopenharmony_ci    ":cpu_features_gen_inc",
104b1994897Sopenharmony_ci    ":intrinsics_codegen_ext_inl_h",
105b1994897Sopenharmony_ci    ":intrinsics_inline_inl",
106b1994897Sopenharmony_ci    ":intrinsics_ir_build_inl_h",
107b1994897Sopenharmony_ci    ":intrinsics_ir_build_static_call_inl",
108b1994897Sopenharmony_ci    ":intrinsics_ir_build_virtual_call_inl",
109b1994897Sopenharmony_ci    ":intrinsics_stub_inl",
110b1994897Sopenharmony_ci    ":intrinsics_stub_inl_h",
111b1994897Sopenharmony_ci    ":ir_dyn_base_types_h",
112b1994897Sopenharmony_ci    ":isa_gen_libarkcompiler_inst_builder_gen_cpp",
113b1994897Sopenharmony_ci    ":libarkcompiler_ecma_intrinsics_enum_inl",
114b1994897Sopenharmony_ci    ":libarkcompiler_generate_ecma_inl",
115b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_generate_operations_intrinsic_graph_inl",
116b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_generate_operations_intrinsic_inst_inl",
117b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_get_intrinsics_inl",
118b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_get_intrinsics_names_inl",
119b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsic_codegen_test_inl",
120b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsic_flags_test_inl",
121b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsics_codegen_inl",
122b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsics_codegen_inl_h",
123b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsics_enum_inl",
124b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsics_flags_inl",
125b1994897Sopenharmony_ci    ":libarkcompiler_intrinsics_gen_inl_intrinsics_ir_build_inl",
126b1994897Sopenharmony_ci    ":libarkcompiler_opcodes_h_IR-instructions_md",
127b1994897Sopenharmony_ci    ":libarkcompiler_opcodes_h_arch_info_gen_h",
128b1994897Sopenharmony_ci    ":libarkcompiler_opcodes_h_codegen_arm64_gen_inc",
129b1994897Sopenharmony_ci    ":libarkcompiler_opcodes_h_inst_checker_gen_h",
130b1994897Sopenharmony_ci    ":libarkcompiler_opcodes_h_opcodes_h",
131b1994897Sopenharmony_ci    ":source_languages_h",
132b1994897Sopenharmony_ci    "$ark_root/libpandabase:libarkbase",
133b1994897Sopenharmony_ci    "$ark_root/libpandafile:isa_gen_libarkfile_bytecode_instruction-inl_gen_h",
134b1994897Sopenharmony_ci    "$ark_root/libpandafile:isa_gen_libarkfile_bytecode_instruction_enum_gen_h",
135b1994897Sopenharmony_ci    "$ark_root/libpandafile:libarkfile",
136b1994897Sopenharmony_ci    "$ark_root/libpandafile:libarkfile_type_gen_h",
137b1994897Sopenharmony_ci  ]
138b1994897Sopenharmony_ci
139b1994897Sopenharmony_ci  external_deps = [ sdk_libc_secshared_dep ]
140b1994897Sopenharmony_ci
141b1994897Sopenharmony_ci  include_dirs = [ "$ark_root/compiler/optimizer" ]
142b1994897Sopenharmony_ci
143b1994897Sopenharmony_ci  output_extension = "so"
144b1994897Sopenharmony_ci  relative_install_dir = "ark"
145b1994897Sopenharmony_ci  part_name = "runtime_core"
146b1994897Sopenharmony_ci  subsystem_name = "arkcompiler"
147b1994897Sopenharmony_ci}
148b1994897Sopenharmony_ci
149b1994897Sopenharmony_cilibarkcompiler_frontend_static_common_deps = [
150b1994897Sopenharmony_ci  ":codegen_language_extensions_h",
151b1994897Sopenharmony_ci  ":compiler_events_gen_h",
152b1994897Sopenharmony_ci  ":compiler_interface_extensions_inl_h",
153b1994897Sopenharmony_ci  ":compiler_logger_components_inc",
154b1994897Sopenharmony_ci  ":compiler_options_gen_h",
155b1994897Sopenharmony_ci  ":cpu_features_gen_inc",
156b1994897Sopenharmony_ci  ":intrinsics_codegen_ext_inl_h",
157b1994897Sopenharmony_ci  ":intrinsics_inline_inl",
158b1994897Sopenharmony_ci  ":intrinsics_ir_build_inl_h",
159b1994897Sopenharmony_ci  ":intrinsics_ir_build_static_call_inl",
160b1994897Sopenharmony_ci  ":intrinsics_ir_build_virtual_call_inl",
161b1994897Sopenharmony_ci  ":intrinsics_stub_inl",
162b1994897Sopenharmony_ci  ":intrinsics_stub_inl_h",
163b1994897Sopenharmony_ci  ":ir_dyn_base_types_h",
164b1994897Sopenharmony_ci  ":isa_gen_libarkcompiler_inst_builder_gen_cpp",
165b1994897Sopenharmony_ci  ":libarkcompiler_ecma_intrinsics_enum_inl",
166b1994897Sopenharmony_ci  ":libarkcompiler_generate_ecma_inl",
167b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_generate_operations_intrinsic_graph_inl",
168b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_generate_operations_intrinsic_inst_inl",
169b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_get_intrinsics_inl",
170b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_get_intrinsics_names_inl",
171b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsic_codegen_test_inl",
172b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsic_flags_test_inl",
173b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsics_codegen_inl",
174b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsics_codegen_inl_h",
175b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsics_enum_inl",
176b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsics_flags_inl",
177b1994897Sopenharmony_ci  ":libarkcompiler_intrinsics_gen_inl_intrinsics_ir_build_inl",
178b1994897Sopenharmony_ci  ":libarkcompiler_opcodes_h_IR-instructions_md",
179b1994897Sopenharmony_ci  ":libarkcompiler_opcodes_h_arch_info_gen_h",
180b1994897Sopenharmony_ci  ":libarkcompiler_opcodes_h_codegen_arm64_gen_inc",
181b1994897Sopenharmony_ci  ":libarkcompiler_opcodes_h_inst_checker_gen_h",
182b1994897Sopenharmony_ci  ":libarkcompiler_opcodes_h_opcodes_h",
183b1994897Sopenharmony_ci  ":source_languages_h",
184b1994897Sopenharmony_ci  "$ark_root/libpandabase:libarkbase_frontend_static",
185b1994897Sopenharmony_ci  "$ark_root/libpandafile:isa_gen_libarkfile_bytecode_instruction-inl_gen_h",
186b1994897Sopenharmony_ci  "$ark_root/libpandafile:isa_gen_libarkfile_bytecode_instruction_enum_gen_h",
187b1994897Sopenharmony_ci  "$ark_root/libpandafile:libarkfile_frontend_static",
188b1994897Sopenharmony_ci  "$ark_root/libpandafile:libarkfile_type_gen_h",
189b1994897Sopenharmony_ci]
190b1994897Sopenharmony_ci
191b1994897Sopenharmony_ciohos_static_library("libarkcompiler_frontend_static") {
192b1994897Sopenharmony_ci  stack_protector_ret = false
193b1994897Sopenharmony_ci  sources = libarkcompiler_sources
194b1994897Sopenharmony_ci
195b1994897Sopenharmony_ci  configs = libarkcompiler_configs
196b1994897Sopenharmony_ci
197b1994897Sopenharmony_ci  deps = libarkcompiler_frontend_static_common_deps
198b1994897Sopenharmony_ci
199b1994897Sopenharmony_ci  if (is_arkui_x) {
200b1994897Sopenharmony_ci    deps += [ "$ark_third_party_root/bounds_checking_function:libsec_static" ]
201b1994897Sopenharmony_ci  } else {
202b1994897Sopenharmony_ci    external_deps = [ sdk_libc_secshared_dep ]
203b1994897Sopenharmony_ci  }
204b1994897Sopenharmony_ci
205b1994897Sopenharmony_ci  include_dirs = [ "$ark_root/compiler/optimizer" ]
206b1994897Sopenharmony_ci
207b1994897Sopenharmony_ci  part_name = "runtime_core"
208b1994897Sopenharmony_ci  subsystem_name = "arkcompiler"
209b1994897Sopenharmony_ci}
210b1994897Sopenharmony_ci
211b1994897Sopenharmony_ciohos_static_library(
212b1994897Sopenharmony_ci    "libarkcompiler_frontend_static_for_libark_defect_scan_aux") {
213b1994897Sopenharmony_ci  stack_protector_ret = false
214b1994897Sopenharmony_ci  sources = libarkcompiler_sources
215b1994897Sopenharmony_ci
216b1994897Sopenharmony_ci  configs = libarkcompiler_configs
217b1994897Sopenharmony_ci
218b1994897Sopenharmony_ci  defines = [ "IR_FOR_LIBARK_DEFECT_SCAN_AUX" ]
219b1994897Sopenharmony_ci
220b1994897Sopenharmony_ci  deps = libarkcompiler_frontend_static_common_deps
221b1994897Sopenharmony_ci
222b1994897Sopenharmony_ci  if (is_arkui_x) {
223b1994897Sopenharmony_ci    deps += [ "$ark_third_party_root/bounds_checking_function:libsec_static" ]
224b1994897Sopenharmony_ci  } else {
225b1994897Sopenharmony_ci    external_deps = [ sdk_libc_secshared_dep ]
226b1994897Sopenharmony_ci  }
227b1994897Sopenharmony_ci
228b1994897Sopenharmony_ci  include_dirs = [ "$ark_root/compiler/optimizer" ]
229b1994897Sopenharmony_ci
230b1994897Sopenharmony_ci  part_name = "runtime_core"
231b1994897Sopenharmony_ci  subsystem_name = "arkcompiler"
232b1994897Sopenharmony_ci}
233b1994897Sopenharmony_ci
234b1994897Sopenharmony_ciark_isa_gen("isa_gen_libarkcompiler") {
235b1994897Sopenharmony_ci  template_files = [ "inst_builder_gen.cpp.erb" ]
236b1994897Sopenharmony_ci  sources = "optimizer/templates"
237b1994897Sopenharmony_ci  destination = "$target_gen_dir/generated"
238b1994897Sopenharmony_ci}
239b1994897Sopenharmony_ci
240b1994897Sopenharmony_ciark_gen("libarkcompiler_intrinsics_gen_inl") {
241b1994897Sopenharmony_ci  data = "intrinsics.yaml"
242b1994897Sopenharmony_ci  template_files = [
243b1994897Sopenharmony_ci    "intrinsics_enum.inl.erb",
244b1994897Sopenharmony_ci    "get_intrinsics.inl.erb",
245b1994897Sopenharmony_ci    "entrypoints_bridge_asm_macro.inl.erb",
246b1994897Sopenharmony_ci    "intrinsics_ir_build.inl.erb",
247b1994897Sopenharmony_ci    "get_intrinsics_names.inl.erb",
248b1994897Sopenharmony_ci    "generate_operations_intrinsic_inst.inl.erb",
249b1994897Sopenharmony_ci    "generate_operations_intrinsic_graph.inl.erb",
250b1994897Sopenharmony_ci    "intrinsic_codegen_test.inl.erb",
251b1994897Sopenharmony_ci    "intrinsic_flags_test.inl.erb",
252b1994897Sopenharmony_ci    "intrinsics_codegen.inl.h.erb",
253b1994897Sopenharmony_ci    "intrinsics_codegen.inl.erb",
254b1994897Sopenharmony_ci    "intrinsics_flags.inl.erb",
255b1994897Sopenharmony_ci  ]
256b1994897Sopenharmony_ci  sources = "optimizer/templates/intrinsics"
257b1994897Sopenharmony_ci  destination = "$target_gen_dir/generated"
258b1994897Sopenharmony_ci  requires = [
259b1994897Sopenharmony_ci    "$ark_root/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb",
260b1994897Sopenharmony_ci  ]
261b1994897Sopenharmony_ci}
262b1994897Sopenharmony_ci
263b1994897Sopenharmony_ciark_isa_gen("libarkcompiler") {
264b1994897Sopenharmony_ci  template_files = [
265b1994897Sopenharmony_ci    "generate_ecma.inl.erb",
266b1994897Sopenharmony_ci    "ecma_intrinsics_enum.inl.erb",
267b1994897Sopenharmony_ci  ]
268b1994897Sopenharmony_ci  sources = "optimizer/templates"
269b1994897Sopenharmony_ci  requires = [ "$ark_root//assembler/asm_isapi.rb" ]
270b1994897Sopenharmony_ci  destination = "$target_gen_dir/generated"
271b1994897Sopenharmony_ci}
272b1994897Sopenharmony_ci
273b1994897Sopenharmony_ciark_gen("libarkcompiler_opcodes_h") {
274b1994897Sopenharmony_ci  data = "$ark_root/compiler/optimizer/ir/instructions.yaml"
275b1994897Sopenharmony_ci  template_files = [
276b1994897Sopenharmony_ci    "opcodes.h.erb",
277b1994897Sopenharmony_ci    "arch_info_gen.h.erb",
278b1994897Sopenharmony_ci    "inst_checker_gen.h.erb",
279b1994897Sopenharmony_ci    "IR-instructions.md.erb",
280b1994897Sopenharmony_ci    "codegen_arm64_gen.inc.erb",
281b1994897Sopenharmony_ci  ]
282b1994897Sopenharmony_ci  sources = "optimizer/templates"
283b1994897Sopenharmony_ci  destination = "$target_gen_dir/generated"
284b1994897Sopenharmony_ci  requires = [ "$ark_root/compiler/optimizer/templates/instructions.rb" ]
285b1994897Sopenharmony_ci}
286b1994897Sopenharmony_ci
287b1994897Sopenharmony_ciark_gen_file("compiler_options_gen_h") {
288b1994897Sopenharmony_ci  template_file = "$ark_root/templates/options/options.h.erb"
289b1994897Sopenharmony_ci  data_file = "compiler.yaml"
290b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/common.rb" ]
291b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/compiler_options_gen.h"
292b1994897Sopenharmony_ci}
293b1994897Sopenharmony_ci
294b1994897Sopenharmony_ciark_gen_file("cpu_features_gen_inc") {
295b1994897Sopenharmony_ci  template_file = "$ark_root/templates/cpu_features.inc.erb"
296b1994897Sopenharmony_ci  data_file = "compiler.yaml"
297b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/common.rb" ]
298b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/cpu_features.inc"
299b1994897Sopenharmony_ci}
300b1994897Sopenharmony_ci
301b1994897Sopenharmony_ciark_gen_file("compiler_events_gen_h") {
302b1994897Sopenharmony_ci  template_file = "$ark_root/templates/events/events.h.erb"
303b1994897Sopenharmony_ci  data_file = "compiler.yaml"
304b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/common.rb" ]
305b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/compiler_events_gen.h"
306b1994897Sopenharmony_ci}
307b1994897Sopenharmony_ci
308b1994897Sopenharmony_ciark_gen_file("compiler_logger_components_inc") {
309b1994897Sopenharmony_ci  template_file =
310b1994897Sopenharmony_ci      "$ark_root/templates/logger_components/logger_components.inc.erb"
311b1994897Sopenharmony_ci  data_file = "compiler.yaml"
312b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/common.rb" ]
313b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/compiler_logger_components.inc"
314b1994897Sopenharmony_ci}
315b1994897Sopenharmony_ciark_gen_file("intrinsics_stub_inl") {
316b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
317b1994897Sopenharmony_ci  template_file = "optimizer/templates/intrinsics/intrinsics_stub.inl.erb"
318b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
319b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
320b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_stub.inl"
321b1994897Sopenharmony_ci}
322b1994897Sopenharmony_ciark_gen_file("intrinsics_stub_inl_h") {
323b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
324b1994897Sopenharmony_ci  template_file = "optimizer/templates/intrinsics/intrinsics_stub.inl.h.erb"
325b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
326b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
327b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_stub.inl.h"
328b1994897Sopenharmony_ci}
329b1994897Sopenharmony_ciark_gen_file("intrinsics_codegen_ext_inl_h") {
330b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
331b1994897Sopenharmony_ci  template_file =
332b1994897Sopenharmony_ci      "optimizer/templates/intrinsics/intrinsics_codegen_ext.inl.h.erb"
333b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
334b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
335b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_codegen_ext.inl.h"
336b1994897Sopenharmony_ci}
337b1994897Sopenharmony_ciark_gen_file("intrinsics_inline_inl") {
338b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
339b1994897Sopenharmony_ci  template_file = "optimizer/templates/intrinsics/intrinsics_inline.inl.erb"
340b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
341b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
342b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_inline.inl"
343b1994897Sopenharmony_ci}
344b1994897Sopenharmony_ciark_gen_file("intrinsics_ir_build_inl_h") {
345b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
346b1994897Sopenharmony_ci  template_file = "optimizer/templates/intrinsics/intrinsics_ir_build.inl.h.erb"
347b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
348b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
349b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_ir_build.inl.h"
350b1994897Sopenharmony_ci}
351b1994897Sopenharmony_ciark_gen_file("intrinsics_ir_build_static_call_inl") {
352b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
353b1994897Sopenharmony_ci  template_file =
354b1994897Sopenharmony_ci      "optimizer/templates/intrinsics/intrinsics_ir_build_static_call.inl.erb"
355b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
356b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
357b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_ir_build_static_call.inl"
358b1994897Sopenharmony_ci}
359b1994897Sopenharmony_ciark_gen_file("intrinsics_ir_build_virtual_call_inl") {
360b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
361b1994897Sopenharmony_ci  template_file =
362b1994897Sopenharmony_ci      "optimizer/templates/intrinsics/intrinsics_ir_build_virtual_call.inl.erb"
363b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
364b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
365b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/intrinsics_ir_build_virtual_call.inl"
366b1994897Sopenharmony_ci}
367b1994897Sopenharmony_ci
368b1994897Sopenharmony_ciark_gen_file("ir_dyn_base_types_h") {
369b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
370b1994897Sopenharmony_ci  template_file = "optimizer/templates/ir-dyn-base-types.h.erb"
371b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
372b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
373b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/ir-dyn-base-types.h"
374b1994897Sopenharmony_ci}
375b1994897Sopenharmony_ci
376b1994897Sopenharmony_ciark_gen_file("source_languages_h") {
377b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
378b1994897Sopenharmony_ci  template_file = "optimizer/templates/source_languages.h.erb"
379b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
380b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
381b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/source_languages.h"
382b1994897Sopenharmony_ci}
383b1994897Sopenharmony_ci
384b1994897Sopenharmony_ciark_gen_file("codegen_language_extensions_h") {
385b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
386b1994897Sopenharmony_ci  template_file = "optimizer/templates/codegen_language_extensions.h.erb"
387b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
388b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
389b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/codegen_language_extensions.h"
390b1994897Sopenharmony_ci}
391b1994897Sopenharmony_ci
392b1994897Sopenharmony_ciark_gen_file("compiler_interface_extensions_inl_h") {
393b1994897Sopenharmony_ci  extra_dependencies = [ "$ark_root:concat_plugins_yamls" ]
394b1994897Sopenharmony_ci  template_file = "optimizer/templates/compiler_interface_extensions.inl.h.erb"
395b1994897Sopenharmony_ci  data_file = "$target_gen_dir/../plugin_options.yaml"
396b1994897Sopenharmony_ci  requires = [ "$ark_root/templates/plugin_options.rb" ]
397b1994897Sopenharmony_ci  output_file = "$target_gen_dir/generated/compiler_interface_extensions.inl.h"
398b1994897Sopenharmony_ci}
399