[llvm] 6e8f8b1 - [gn build] Extract gen_arch_intrinsics() template to remove some duplication
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 13 06:39:19 PST 2022
Author: Nico Weber
Date: 2022-11-13T09:38:53-05:00
New Revision: 6e8f8b19645358506492ebc8adcc7414edf41fb5
URL: https://github.com/llvm/llvm-project/commit/6e8f8b19645358506492ebc8adcc7414edf41fb5
DIFF: https://github.com/llvm/llvm-project/commit/6e8f8b19645358506492ebc8adcc7414edf41fb5.diff
LOG: [gn build] Extract gen_arch_intrinsics() template to remove some duplication
No behavior change.
Differential Revision: https://reviews.llvm.org/D137784
Added:
Modified:
llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
Removed:
################################################################################
diff --git a/llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn b/llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
index 31d2f4171360..148fe951b432 100644
--- a/llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
@@ -17,174 +17,84 @@ tablegen("IntrinsicEnums") {
td_file = "Intrinsics.td"
}
-tablegen("IntrinsicsAArch64") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsAArch64.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=aarch64",
- ]
- td_file = "Intrinsics.td"
+template("gen_arch_intrinsics") {
+ tablegen(target_name) {
+ visibility = [ ":public_tablegen" ]
+ output_name = "$target_name.h"
+ args = [
+ "-gen-intrinsic-enums",
+ "-intrinsic-prefix=${invoker.intrinsic_prefix}",
+ ]
+ td_file = "Intrinsics.td"
+ }
}
-tablegen("IntrinsicsAMDGPU") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsAMDGPU.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=amdgcn",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsAArch64") {
+ intrinsic_prefix = "aarch64"
}
-tablegen("IntrinsicsARM") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsARM.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=arm",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsAMDGPU") {
+ intrinsic_prefix = "amdgcn"
}
-tablegen("IntrinsicsBPF") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsBPF.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=bpf",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsARM") {
+ intrinsic_prefix = "arm"
}
-tablegen("IntrinsicsDirectX") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsDirectX.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=dx",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsBPF") {
+ intrinsic_prefix = "bpf"
}
-tablegen("IntrinsicsHexagon") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsHexagon.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=hexagon",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsDirectX") {
+ intrinsic_prefix = "dx"
}
-tablegen("IntrinsicsLoongArch") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsLoongArch.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=loongarch",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsHexagon") {
+ intrinsic_prefix = "hexagon"
}
-tablegen("IntrinsicsMips") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsMips.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=mips",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsLoongArch") {
+ intrinsic_prefix = "loongarch"
}
-tablegen("IntrinsicsNVPTX") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsNVPTX.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=nvvm",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsMips") {
+ intrinsic_prefix = "mips"
}
-tablegen("IntrinsicsPowerPC") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsPowerPC.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=ppc",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsNVPTX") {
+ intrinsic_prefix = "nvvm"
}
-tablegen("IntrinsicsR600") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsR600.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=r600",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsPowerPC") {
+ intrinsic_prefix = "ppc"
}
-tablegen("IntrinsicsRISCV") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsRISCV.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=riscv",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsR600") {
+ intrinsic_prefix = "r600"
}
-tablegen("IntrinsicsS390") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsS390.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=s390",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsRISCV") {
+ intrinsic_prefix = "riscv"
}
-tablegen("IntrinsicsVE") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsVE.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=ve",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsS390") {
+ intrinsic_prefix = "s390"
}
-tablegen("IntrinsicsWebAssembly") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsWebAssembly.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=wasm",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsVE") {
+ intrinsic_prefix = "ve"
}
-tablegen("IntrinsicsX86") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsX86.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=x86",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsWebAssembly") {
+ intrinsic_prefix = "wasm"
}
-tablegen("IntrinsicsXCore") {
- visibility = [ ":public_tablegen" ]
- output_name = "IntrinsicsXCore.h"
- args = [
- "-gen-intrinsic-enums",
- "-intrinsic-prefix=xcore",
- ]
- td_file = "Intrinsics.td"
+gen_arch_intrinsics("IntrinsicsX86") {
+ intrinsic_prefix = "x86"
+}
+
+gen_arch_intrinsics("IntrinsicsXCore") {
+ intrinsic_prefix = "xcore"
}
# Groups all tablegen() calls that create .inc files that are included in
More information about the llvm-commits
mailing list