1import("//llvm/utils/TableGen/tablegen.gni") 2 3tablegen("Attributes") { 4 visibility = [ ":public_tablegen" ] 5 args = [ "-gen-attrs" ] 6} 7 8tablegen("IntrinsicImpl") { 9 visibility = [ "//llvm/lib/IR" ] 10 args = [ "-gen-intrinsic-impl" ] 11 td_file = "Intrinsics.td" 12} 13 14tablegen("IntrinsicEnums") { 15 visibility = [ ":public_tablegen" ] 16 args = [ "-gen-intrinsic-enums" ] 17 td_file = "Intrinsics.td" 18} 19 20tablegen("IntrinsicsAArch64") { 21 visibility = [ ":public_tablegen" ] 22 output_name = "IntrinsicsAArch64.h" 23 args = [ 24 "-gen-intrinsic-enums", 25 "-intrinsic-prefix=aarch64", 26 ] 27 td_file = "Intrinsics.td" 28} 29 30tablegen("IntrinsicsAMDGPU") { 31 visibility = [ ":public_tablegen" ] 32 output_name = "IntrinsicsAMDGPU.h" 33 args = [ 34 "-gen-intrinsic-enums", 35 "-intrinsic-prefix=amdgcn", 36 ] 37 td_file = "Intrinsics.td" 38} 39 40tablegen("IntrinsicsARM") { 41 visibility = [ ":public_tablegen" ] 42 output_name = "IntrinsicsARM.h" 43 args = [ 44 "-gen-intrinsic-enums", 45 "-intrinsic-prefix=arm", 46 ] 47 td_file = "Intrinsics.td" 48} 49 50tablegen("IntrinsicsBPF") { 51 visibility = [ ":public_tablegen" ] 52 output_name = "IntrinsicsBPF.h" 53 args = [ 54 "-gen-intrinsic-enums", 55 "-intrinsic-prefix=bpf", 56 ] 57 td_file = "Intrinsics.td" 58} 59 60tablegen("IntrinsicsHexagon") { 61 visibility = [ ":public_tablegen" ] 62 output_name = "IntrinsicsHexagon.h" 63 args = [ 64 "-gen-intrinsic-enums", 65 "-intrinsic-prefix=hexagon", 66 ] 67 td_file = "Intrinsics.td" 68} 69 70tablegen("IntrinsicsMips") { 71 visibility = [ ":public_tablegen" ] 72 output_name = "IntrinsicsMips.h" 73 args = [ 74 "-gen-intrinsic-enums", 75 "-intrinsic-prefix=mips", 76 ] 77 td_file = "Intrinsics.td" 78} 79 80tablegen("IntrinsicsNVPTX") { 81 visibility = [ ":public_tablegen" ] 82 output_name = "IntrinsicsNVPTX.h" 83 args = [ 84 "-gen-intrinsic-enums", 85 "-intrinsic-prefix=nvvm", 86 ] 87 td_file = "Intrinsics.td" 88} 89 90tablegen("IntrinsicsPowerPC") { 91 visibility = [ ":public_tablegen" ] 92 output_name = "IntrinsicsPowerPC.h" 93 args = [ 94 "-gen-intrinsic-enums", 95 "-intrinsic-prefix=ppc", 96 ] 97 td_file = "Intrinsics.td" 98} 99 100tablegen("IntrinsicsR600") { 101 visibility = [ ":public_tablegen" ] 102 output_name = "IntrinsicsR600.h" 103 args = [ 104 "-gen-intrinsic-enums", 105 "-intrinsic-prefix=r600", 106 ] 107 td_file = "Intrinsics.td" 108} 109 110tablegen("IntrinsicsRISCV") { 111 visibility = [ ":public_tablegen" ] 112 output_name = "IntrinsicsRISCV.h" 113 args = [ 114 "-gen-intrinsic-enums", 115 "-intrinsic-prefix=riscv", 116 ] 117 td_file = "Intrinsics.td" 118} 119 120tablegen("IntrinsicsS390") { 121 visibility = [ ":public_tablegen" ] 122 output_name = "IntrinsicsS390.h" 123 args = [ 124 "-gen-intrinsic-enums", 125 "-intrinsic-prefix=s390", 126 ] 127 td_file = "Intrinsics.td" 128} 129 130tablegen("IntrinsicsWebAssembly") { 131 visibility = [ ":public_tablegen" ] 132 output_name = "IntrinsicsWebAssembly.h" 133 args = [ 134 "-gen-intrinsic-enums", 135 "-intrinsic-prefix=wasm", 136 ] 137 td_file = "Intrinsics.td" 138} 139 140tablegen("IntrinsicsX86") { 141 visibility = [ ":public_tablegen" ] 142 output_name = "IntrinsicsX86.h" 143 args = [ 144 "-gen-intrinsic-enums", 145 "-intrinsic-prefix=x86", 146 ] 147 td_file = "Intrinsics.td" 148} 149 150tablegen("IntrinsicsXCore") { 151 visibility = [ ":public_tablegen" ] 152 output_name = "IntrinsicsXCore.h" 153 args = [ 154 "-gen-intrinsic-enums", 155 "-intrinsic-prefix=xcore", 156 ] 157 td_file = "Intrinsics.td" 158} 159 160# Groups all tablegen() calls that create .inc files that are included in 161# IR's public headers. //llvm/lib/IR has this as a public_dep, so targets 162# depending on //llvm/lib/IR don't need to depend on this. This exists 163# solely for targets that use IR's public headers but don't link against IR. 164group("public_tablegen") { 165 public_deps = [ 166 # IR's public headers include Attributes.inc. 167 ":Attributes", 168 169 # IR's public headers include IntrinsicEnums.inc. 170 ":IntrinsicEnums", 171 172 # FIXME: These are only included from .cpp files at first glance. 173 # Try removing them from the public_tablegen target. 174 ":IntrinsicsAArch64", 175 ":IntrinsicsAMDGPU", 176 ":IntrinsicsARM", 177 ":IntrinsicsBPF", 178 ":IntrinsicsHexagon", 179 ":IntrinsicsMips", 180 ":IntrinsicsNVPTX", 181 ":IntrinsicsPowerPC", 182 ":IntrinsicsR600", 183 ":IntrinsicsRISCV", 184 ":IntrinsicsS390", 185 ":IntrinsicsWebAssembly", 186 ":IntrinsicsX86", 187 ":IntrinsicsXCore", 188 ] 189} 190