llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
Avoid parsing the heavyweight AMDGPU.td to generate the TargetParser
inc files. Only include the minimal subtarget information required.
llvm-min-tblgen -gen-amdgpu-target-def (Release+asserts):
wall instructions:u peak RSS .td deps
AMDGPU.td 12.16 s 79.49 G 909 MB 76
AMDGPUTargetParserDef.td 0.01 s 0.056 G 7 MB 10
R600.td 0.38 s 1.59 G 92 MB 57
R600TargetParserDef.td <0.01 s 0.008 G 6 MB 10
Co-authored-by: Claude Opus 5.5 <noreply@<!-- -->anthropic.com>
---
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> •
<a href="https://gh.io/stacks-feedback">Give Feedback
💬</a></sub>
---
Full diff: https://github.com/llvm/llvm-project/pull/231017.diff
5 Files Affected:
- (modified) llvm/include/llvm/TargetParser/CMakeLists.txt (+2-2)
- (added) llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td (+13)
- (added) llvm/lib/Target/AMDGPU/R600TargetParserDef.td (+17)
- (modified) llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
(+2-2)
- (modified) utils/bazel/llvm-project-overlay/llvm/BUILD.bazel (+2-2)
``````````diff
diff --git a/llvm/include/llvm/TargetParser/CMakeLists.txt
b/llvm/include/llvm/TargetParser/CMakeLists.txt
index af26db48f2132..8bdf7ad5ae10a 100644
--- a/llvm/include/llvm/TargetParser/CMakeLists.txt
+++ b/llvm/include/llvm/TargetParser/CMakeLists.txt
@@ -10,10 +10,10 @@ tablegen(LLVM RISCVTargetParserDef.inc
-gen-riscv-target-def EXTRA_INCLUDES ${PR
set(LLVM_TARGET_DEFINITIONS ${PROJECT_SOURCE_DIR}/lib/Target/PowerPC/PPC.td)
tablegen(LLVM PPCGenTargetFeatures.inc -gen-target-features EXTRA_INCLUDES
${PROJECT_SOURCE_DIR}/lib/Target/PowerPC)
-set(LLVM_TARGET_DEFINITIONS ${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU/R600.td)
+set(LLVM_TARGET_DEFINITIONS
${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU/R600TargetParserDef.td)
tablegen(LLVM R600TargetParserDef.inc -gen-amdgpu-target-def EXTRA_INCLUDES
${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU)
-set(LLVM_TARGET_DEFINITIONS ${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU/AMDGPU.td)
+set(LLVM_TARGET_DEFINITIONS
${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU/AMDGPUTargetParserDef.td)
tablegen(LLVM AMDGPUTargetParserDef.inc -gen-amdgpu-target-def EXTRA_INCLUDES
${PROJECT_SOURCE_DIR}/lib/Target/AMDGPU)
# This covers all of the tablegen calls above.
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
b/llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
new file mode 100644
index 0000000000000..a42e48e07bc5c
--- /dev/null
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td
@@ -0,0 +1,13 @@
+//===-- AMDGPUTargetParserDef.td - AMDGPU TargetParser -----*- tablegen
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+include "llvm/Target/TargetSubtarget.td"
+include "AMDGPUFeatures.td"
+include "GCNFeatures.td"
+include "AMDGPUSchedModels.td"
+include "GCNProcessors.td"
diff --git a/llvm/lib/Target/AMDGPU/R600TargetParserDef.td
b/llvm/lib/Target/AMDGPU/R600TargetParserDef.td
new file mode 100644
index 0000000000000..2c85692c2af92
--- /dev/null
+++ b/llvm/lib/Target/AMDGPU/R600TargetParserDef.td
@@ -0,0 +1,17 @@
+//===-- R600TargetParserDef.td - R600 TargetParser ---------*- tablegen
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+include "llvm/Target/TargetSubtarget.td"
+
+def NullALU : InstrItinClass;
+def ALU_NULL : FuncUnit;
+
+include "AMDGPUFeatures.td"
+include "R600Schedule.td"
+include "R600Features.td"
+include "R600Processors.td"
diff --git a/llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
b/llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
index db4158ae7a3ca..082a1af8529d1 100644
--- a/llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
@@ -31,14 +31,14 @@ tablegen("RISCVTargetParserDef") {
tablegen("R600TargetParserDef") {
visibility = [ ":gen" ]
args = [ "-gen-amdgpu-target-def" ]
- td_file = "//llvm/lib/Target/AMDGPU/R600.td"
+ td_file = "//llvm/lib/Target/AMDGPU/R600TargetParserDef.td"
tblgen_target = "//llvm/utils/TableGen:llvm-min-tblgen"
}
tablegen("AMDGPUTargetParserDef") {
visibility = [ ":gen" ]
args = [ "-gen-amdgpu-target-def" ]
- td_file = "//llvm/lib/Target/AMDGPU/AMDGPU.td"
+ td_file = "//llvm/lib/Target/AMDGPU/AMDGPUTargetParserDef.td"
tblgen_target = "//llvm/utils/TableGen:llvm-min-tblgen"
}
diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
index 79ac50b300d87..f2db3a9307df6 100644
--- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
@@ -1769,7 +1769,7 @@ gentbl_cc_library(
name = "AMDGPUTargetParserDefGen",
tbl_outs = {"include/llvm/TargetParser/AMDGPUTargetParserDef.inc":
["-gen-amdgpu-target-def"]},
tblgen = ":llvm-min-tblgen",
- td_file = "lib/Target/AMDGPU/AMDGPU.td",
+ td_file = "lib/Target/AMDGPU/AMDGPUTargetParserDef.td",
deps = [
":AMDGPUTargetTdFiles",
":CommonTargetTdFiles",
@@ -1780,7 +1780,7 @@ gentbl_cc_library(
name = "R600TargetParserDefGen",
tbl_outs = {"include/llvm/TargetParser/R600TargetParserDef.inc":
["-gen-amdgpu-target-def"]},
tblgen = ":llvm-min-tblgen",
- td_file = "lib/Target/AMDGPU/R600.td",
+ td_file = "lib/Target/AMDGPU/R600TargetParserDef.td",
deps = [
":AMDGPUTargetTdFiles",
":CommonTargetTdFiles",
``````````
</details>
https://github.com/llvm/llvm-project/pull/231017
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits