[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