aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/llvm
diff options
context:
space:
mode:
authorGravatar Peter Hawkins <phawkins@google.com>2017-06-07 20:13:37 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-06-07 20:18:36 -0700
commitcd5ac40b31afaec237aaee35007f2dc846caf811 (patch)
tree803e96dfdf81430f369c5ccbea2daf4bed2c597c /third_party/llvm
parent845539f98302a2a42ba595ee1f197959064c3d1c (diff)
[XLA] Update LLVM to upstream revision r304927.
Add LLVM build rules for the LLVM AMDGPU backend, commented out by default. Fixes issue #10437. PiperOrigin-RevId: 158351480
Diffstat (limited to 'third_party/llvm')
-rw-r--r--third_party/llvm/llvm.BUILD239
1 files changed, 229 insertions, 10 deletions
diff --git a/third_party/llvm/llvm.BUILD b/third_party/llvm/llvm.BUILD
index 2b52a991c4..32266997a7 100644
--- a/third_party/llvm/llvm.BUILD
+++ b/third_party/llvm/llvm.BUILD
@@ -24,23 +24,20 @@ llvm_host_triple = "x86_64-unknown-linux_gnu"
llvm_targets = [
"AArch64",
+ # Uncomment to enable the AMDGPU backend.
+ # TODO(phawkins): use a configure-time test.
+ # "AMDGPU",
"ARM",
"NVPTX",
"PowerPC",
"X86",
]
-llvm_target_asm_parsers = [
- "AArch64",
- "ARM",
- "NVPTX",
- "PowerPC",
- "X86",
-]
+llvm_target_asm_parsers = llvm_targets
-llvm_target_asm_printers = llvm_target_asm_parsers
+llvm_target_asm_printers = llvm_targets
-llvm_target_disassemblers = llvm_target_asm_parsers
+llvm_target_disassemblers = llvm_targets
# TODO(phawkins): the set of CMake variables was hardcoded for expediency.
# However, we should really detect many of these via configure-time tests.
@@ -353,6 +350,26 @@ llvm_target_list = [
],
},
{
+ "name": "AMDGPU",
+ "lower_name": "amdgpu",
+ "short_name": "AMDGPU",
+ "tbl_outs": [
+ ("-gen-register-bank", "lib/Target/AMDGPU/AMDGPUGenRegisterBank.inc"),
+ ("-gen-register-info", "lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/AMDGPU/AMDGPUGenInstrInfo.inc"),
+ ("-gen-dag-isel", "lib/Target/AMDGPU/AMDGPUGenDAGISel.inc"),
+ ("-gen-callingconv", "lib/Target/AMDGPU/AMDGPUGenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/AMDGPU/AMDGPUGenSubtargetInfo.inc"),
+ ("-gen-tgt-intrinsic", "lib/Target/AMDGPU/AMDGPUGenIntrinsics.inc"),
+ ("-gen-emitter", "lib/Target/AMDGPU/AMDGPUGenMCCodeEmitter.inc"),
+ ("-gen-dfa-packetizer", "lib/Target/AMDGPU/AMDGPUGenDFAPacketizer.inc"),
+ ("-gen-asm-writer", "lib/Target/AMDGPU/AMDGPUGenAsmWriter.inc"),
+ ("-gen-asm-matcher", "lib/Target/AMDGPU/AMDGPUGenAsmMatcher.inc"),
+ ("-gen-disassembler", "lib/Target/AMDGPU/AMDGPUGenDisassemblerTables.inc"),
+ ("-gen-pseudo-lowering", "lib/Target/AMDGPU/AMDGPUGenMCPseudoLowering.inc"),
+ ],
+ },
+ {
"name": "ARM",
"lower_name": "arm",
"short_name": "ARM",
@@ -436,7 +453,6 @@ llvm_target_list = [
"include/llvm/IR/Intrinsics*.td",
"include/llvm/TableGen/*.td",
"include/llvm/Target/*.td",
- "include/llvm/Target/GlobalISel/*.td",
]),
)
for target in llvm_target_list
@@ -648,6 +664,7 @@ cc_library(
"include/llvm/Analysis/*.inc",
]),
deps = [
+ ":binary_format",
":config",
":core",
":object",
@@ -657,6 +674,184 @@ cc_library(
)
cc_library(
+ name = "amdgpu_desc",
+ srcs = glob([
+ "lib/Target/AMDGPU/MCTargetDesc/*.c",
+ "lib/Target/AMDGPU/MCTargetDesc/*.cpp",
+ "lib/Target/AMDGPU/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.h",
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.def",
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.inc",
+ "lib/Target/AMDGPU/MCTargetDesc/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_asm_printer",
+ ":amdgpu_info",
+ ":amdgpu_utils",
+ ":config",
+ ":core",
+ ":mc",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_disassembler",
+ srcs = glob([
+ "lib/Target/AMDGPU/Disassembler/*.c",
+ "lib/Target/AMDGPU/Disassembler/*.cpp",
+ "lib/Target/AMDGPU/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/Disassembler/*.h",
+ "include/llvm/Target/AMDGPU/Disassembler/*.def",
+ "include/llvm/Target/AMDGPU/Disassembler/*.inc",
+ "lib/Target/AMDGPU/Disassembler/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_desc",
+ ":amdgpu_info",
+ ":amdgpu_utils",
+ ":config",
+ ":mc",
+ ":mc_disassembler",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_info",
+ srcs = glob([
+ "lib/Target/AMDGPU/TargetInfo/*.c",
+ "lib/Target/AMDGPU/TargetInfo/*.cpp",
+ "lib/Target/AMDGPU/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/TargetInfo/*.h",
+ "include/llvm/Target/AMDGPU/TargetInfo/*.def",
+ "include/llvm/Target/AMDGPU/TargetInfo/*.inc",
+ "lib/Target/AMDGPU/TargetInfo/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_target_gen",
+ ":config",
+ ":core",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_utils",
+ srcs = glob([
+ "lib/Target/AMDGPU/Utils/*.c",
+ "lib/Target/AMDGPU/Utils/*.cpp",
+ "lib/Target/AMDGPU/Utils/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/Utils/*.h",
+ "include/llvm/Target/AMDGPU/Utils/*.def",
+ "include/llvm/Target/AMDGPU/Utils/*.inc",
+ "lib/Target/AMDGPU/Utils/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_target_gen",
+ ":config",
+ ":core",
+ ":mc",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_asm_parser",
+ srcs = glob([
+ "lib/Target/AMDGPU/AsmParser/*.c",
+ "lib/Target/AMDGPU/AsmParser/*.cpp",
+ "lib/Target/AMDGPU/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/AsmParser/*.h",
+ "include/llvm/Target/AMDGPU/AsmParser/*.def",
+ "include/llvm/Target/AMDGPU/AsmParser/*.inc",
+ "lib/Target/AMDGPU/AsmParser/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_desc",
+ ":amdgpu_info",
+ ":amdgpu_utils",
+ ":config",
+ ":mc",
+ ":mc_parser",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_asm_printer",
+ srcs = glob([
+ "lib/Target/AMDGPU/InstPrinter/*.c",
+ "lib/Target/AMDGPU/InstPrinter/*.cpp",
+ "lib/Target/AMDGPU/InstPrinter/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/InstPrinter/*.h",
+ "include/llvm/Target/AMDGPU/InstPrinter/*.def",
+ "include/llvm/Target/AMDGPU/InstPrinter/*.inc",
+ "lib/Target/AMDGPU/InstPrinter/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_utils",
+ ":config",
+ ":mc",
+ ":support",
+ ],
+)
+
+cc_library(
+ name = "amdgpu_code_gen",
+ srcs = glob([
+ "lib/Target/AMDGPU/*.c",
+ "lib/Target/AMDGPU/*.cpp",
+ "lib/Target/AMDGPU/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/*.h",
+ "include/llvm/Target/AMDGPU/*.def",
+ "include/llvm/Target/AMDGPU/*.inc",
+ "lib/Target/AMDGPU/*.h",
+ ]),
+ copts = ["-Iexternal/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":amdgpu_asm_printer",
+ ":amdgpu_desc",
+ ":amdgpu_info",
+ ":amdgpu_utils",
+ ":analysis",
+ ":asm_printer",
+ ":code_gen",
+ ":config",
+ ":core",
+ ":global_i_sel",
+ ":ipo",
+ ":mc",
+ ":scalar",
+ ":selection_dag",
+ ":support",
+ ":target",
+ ":transform_utils",
+ ":vectorize",
+ ],
+)
+
+cc_library(
name = "arm_asm_parser",
srcs = glob([
"lib/Target/ARM/AsmParser/*.c",
@@ -824,6 +1019,7 @@ cc_library(
"include/llvm/AsmParser/*.inc",
]),
deps = [
+ ":binary_format",
":config",
":core",
":support",
@@ -842,9 +1038,11 @@ cc_library(
"include/llvm/CodeGen/AsmPrinter/*.h",
"include/llvm/CodeGen/AsmPrinter/*.def",
"include/llvm/CodeGen/AsmPrinter/*.inc",
+ "lib/CodeGen/AsmPrinter/*.def",
]),
deps = [
":analysis",
+ ":binary_format",
":code_gen",
":config",
":core",
@@ -858,6 +1056,25 @@ cc_library(
)
cc_library(
+ name = "binary_format",
+ srcs = glob([
+ "lib/BinaryFormat/*.c",
+ "lib/BinaryFormat/*.cpp",
+ "lib/BinaryFormat/*.inc",
+ "lib/BinaryFormat/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/BinaryFormat/*.h",
+ "include/llvm/BinaryFormat/*.def",
+ "include/llvm/BinaryFormat/*.inc",
+ ]),
+ deps = [
+ ":config",
+ ":support",
+ ],
+)
+
+cc_library(
name = "bit_reader",
srcs = glob([
"lib/Bitcode/Reader/*.c",
@@ -956,6 +1173,7 @@ cc_library(
deps = [
":attributes_compat_gen",
":attributes_gen",
+ ":binary_format",
":config",
":intrinsics_gen",
":support",
@@ -1376,6 +1594,7 @@ cc_library(
"include/llvm/Object/*.inc",
]),
deps = [
+ ":binary_format",
":bit_reader",
":config",
":core",