diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2023-03-18 05:04:22 +0900 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2023-05-02 11:32:22 +0900 |
commit | 243e8f8d23ac71717115c73725658dac071ac4c2 (patch) | |
tree | 86e000b6ff81db4890a97be219d5fe12fa22b5a8 /utils | |
parent | 4071dbb6b9ce00998357e1eee7ab2413d103ebc2 (diff) | |
download | llvm-243e8f8d23ac71717115c73725658dac071ac4c2.tar.gz |
Introduce `llvm-min-tblgen` to build public header files
`llvm-min-tblgen` is capable of building `llvm/include/llvm`;
- `-gen-attrs`
- `-gen-directive-*`
- `-gen-intrinsics-*`
- `-gen-riscv-target-def`
`llvm-min-tblgen` is built and used only when `llvm-tblgen` is built in-tree.
This is not installed.
`llvm-tblgen` is built with complete set and may be installed.
`check-llvm` uses not `llvm-min-tblgen` but `llvm-tblgen`.
`LLVM_TABLEGEN_PROJECT` overrides the definition of `tablegen(project)`.
`LLVM_HEADERS` is used as the overridden prefix for LLVM header generators.
If `EXPORT` is not specified in `add_tablegen`, its tablegen is treated as internal.
Let `llvm-tblgen` depend on `intrinsics_gen`
Depends on D149072
Differential Revision: https://reviews.llvm.org/D146352
Diffstat (limited to 'utils')
-rw-r--r-- | utils/bazel/llvm-project-overlay/llvm/BUILD.bazel | 44 | ||||
-rw-r--r-- | utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel | 2 |
2 files changed, 36 insertions, 10 deletions
diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel index 3ebc98e7fcfd..38b9f4028eba 100644 --- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel @@ -572,6 +572,31 @@ cc_library( ], ) +cc_binary( + name = "llvm-min-tblgen", + srcs = [ + "utils/TableGen/Attributes.cpp", + "utils/TableGen/CodeGenIntrinsics.cpp", + "utils/TableGen/DirectiveEmitter.cpp", + "utils/TableGen/IntrinsicEmitter.cpp", + "utils/TableGen/RISCVTargetDefEmitter.cpp", + "utils/TableGen/SDNodeProperties.cpp", + "utils/TableGen/TableGen.cpp", + "utils/TableGen/VTEmitter.cpp", + + "utils/TableGen/CodeGenIntrinsics.h", + "utils/TableGen/SDNodeProperties.h", + "utils/TableGen/SequenceToOffsetTable.h", + ], + copts = llvm_copts, + stamp = 0, + deps = [ + ":Support", + ":TableGen", + ":config", + ], +) + cc_library( name = "TableGenGlobalISel", srcs = glob([ @@ -621,6 +646,7 @@ cc_binary( ":TableGen", ":TableGenGlobalISel", ":config", + ":intrinsic_enums_gen", ":llvm-tblgen-headers", ], ) @@ -628,7 +654,7 @@ cc_binary( gentbl( name = "intrinsic_enums_gen", tbl_outs = [("-gen-intrinsic-enums", "include/llvm/IR/IntrinsicEnums.inc")], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/IR/Intrinsics.td", td_srcs = glob([ "include/llvm/CodeGen/*.td", @@ -639,7 +665,7 @@ gentbl( gentbl( name = "intrinsics_impl_gen", tbl_outs = [("-gen-intrinsic-impl", "include/llvm/IR/IntrinsicImpl.inc")], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/IR/Intrinsics.td", td_srcs = glob([ "include/llvm/CodeGen/*.td", @@ -727,7 +753,7 @@ llvm_target_intrinsics_list = [ "-gen-intrinsic-enums -intrinsic-prefix=" + target["intrinsic_prefix"], "include/llvm/IR/Intrinsics" + target["name"] + ".h", )], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/IR/Intrinsics.td", td_srcs = glob([ "include/llvm/CodeGen/*.td", @@ -739,7 +765,7 @@ llvm_target_intrinsics_list = [ gentbl( name = "attributes_gen", tbl_outs = [("-gen-attrs", "include/llvm/IR/Attributes.inc")], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/IR/Attributes.td", td_srcs = ["include/llvm/IR/Attributes.td"], ) @@ -1108,7 +1134,7 @@ cc_library( gentbl( name = "RISCVTargetParserDefGen", tbl_outs = [("-gen-riscv-target-def", "include/llvm/TargetParser/RISCVTargetParserDef.inc")], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "lib/Target/RISCV/RISCV.td", td_srcs = [ ":common_target_td_sources", @@ -1375,7 +1401,7 @@ gentbl( tbl_outs = [ ("--gen-directive-decl", "include/llvm/Frontend/OpenMP/OMP.h.inc"), ], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/Frontend/OpenMP/OMP.td", td_srcs = [":omp_td_files"], ) @@ -1386,7 +1412,7 @@ gentbl( tbl_outs = [ ("--gen-directive-impl", "include/llvm/Frontend/OpenMP/OMP.inc"), ], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/Frontend/OpenMP/OMP.td", td_srcs = [":omp_td_files"], ) @@ -1434,7 +1460,7 @@ gentbl( tbl_outs = [ ("--gen-directive-decl", "include/llvm/Frontend/OpenACC/ACC.h.inc"), ], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/Frontend/OpenACC/ACC.td", td_srcs = [":acc_td_files"], ) @@ -1445,7 +1471,7 @@ gentbl( tbl_outs = [ ("--gen-directive-impl", "include/llvm/Frontend/OpenACC/ACC.inc"), ], - tblgen = ":llvm-tblgen", + tblgen = ":llvm-min-tblgen", td_file = "include/llvm/Frontend/OpenACC/ACC.td", td_srcs = [":acc_td_files"], ) diff --git a/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel index cfe9a18f4a03..d7937f8d1212 100644 --- a/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel @@ -558,7 +558,7 @@ gentbl( name = "vt_gen", strip_include_prefix = "Support", tbl_outs = [("-gen-vt", "Support/GenVT.inc")], - tblgen = "//llvm:llvm-tblgen", + tblgen = "//llvm:llvm-min-tblgen", td_file = "//llvm:include/llvm/CodeGen/ValueTypes.td", td_srcs = [ "//llvm:include/llvm/CodeGen/ValueTypes.td", |