• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//arkcompiler/runtime_core/static_core/ark_config.gni")
15import("//arkcompiler/runtime_core/static_vm_config.gni")
16
17intrinsics_compiler_gen_dir = get_label_info(
18        "$ark_root_static/compiler:libarkcompiler_intrinsics_gen_inl_get_intrinsics_names_inl",
19        "target_gen_dir")
20isa_gen_dir =
21    get_label_info("$ark_root_static/isa:isa_combine", "target_gen_dir")
22ark_gen("abckit_ark_gen") {
23  data = [
24    "../../abckit_compiler_intrinsics.yaml",
25    "$isa_gen_dir/isa.yaml",
26  ]
27  template_files = [ "inst_builder_abckit_intrinsics.inc.erb" ]
28  sources = "."
29  api = [
30    "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb",
31    "$ark_root_static/isa/isapi.rb",
32  ]
33  extra_dependencies = [
34    "$ark_root_static/isa:isa_combine",
35    "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml",
36    "../dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_opcodes_inc",
37    ":abckit_ark_gen_abckit_intrinsics_inl",
38  ]
39  requires = [ "$ark_root_static/libpandabase/utils.rb" ]
40  destination = "$intrinsics_compiler_gen_dir/generated"
41}
42
43ark_gen("abckit_ark_gen") {
44  data = [
45    "../../abckit_compiler_intrinsics.yaml",
46    "$isa_gen_dir/isa.yaml",
47  ]
48  template_files = [ "abckit_intrinsics_opcodes.inc.erb" ]
49  sources = "."
50  api = [
51    "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb",
52    "$ark_root_static/isa/isapi.rb",
53  ]
54  extra_dependencies = [
55    "$ark_root_static/isa:isa_combine",
56    "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml",
57    "../dyn_intrinsics/:abckit_isa_gen_dyn_intrinsics_opcodes_inc",
58  ]
59  requires = [ "$ark_root_static/libpandabase/utils.rb" ]
60  destination = "$intrinsics_compiler_gen_dir/generated"
61}
62
63bco_gen_dir =
64    get_label_info("$ark_root_static/bytecode_optimizer:libarktsbytecodeopt",
65                   "target_gen_dir")
66ark_gen("abckit_ark_gen") {
67  data = [
68    "../../abckit_compiler_intrinsics.yaml",
69    "$isa_gen_dir/isa.yaml",
70  ]
71  template_files = [
72    "abckit_intrinsics_vreg_width.h.erb",
73    "abckit_intrinsics.inl.erb",
74  ]
75  sources = "."
76  api = [
77    "$ark_root_static/compiler/optimizer/templates/intrinsics/compiler_intrinsics.rb",
78    "$ark_root_static/isa/isapi.rb",
79  ]
80  extra_dependencies = [
81    "$ark_root_static/isa:isa_combine",
82    "$ark_root_static/runtime:arkruntime_gen_intrinsics_yaml",
83    "../dyn_intrinsics:abckit_isa_gen_dyn_intrinsics_cases_inc",
84  ]
85  requires = [ "$ark_root_static/libpandabase/utils.rb" ]
86  destination = "$bco_gen_dir/generated"
87}
88