[llvm] 8aa8c05 - [DXIL][Analysis] Collect Function properties in Metadata Analysis (#105728)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 31 14:56:09 PDT 2024
Author: S. Bharadwaj Yadavalli
Date: 2024-08-31T17:56:06-04:00
New Revision: 8aa8c0590c09a52737787ed7c35befa3fbede231
URL: https://github.com/llvm/llvm-project/commit/8aa8c0590c09a52737787ed7c35befa3fbede231
DIFF: https://github.com/llvm/llvm-project/commit/8aa8c0590c09a52737787ed7c35befa3fbede231.diff
LOG: [DXIL][Analysis] Collect Function properties in Metadata Analysis (#105728)
Basic infrastructure to collect Function properties in Metadata Analysis
- Add a `SmallVector` of entry properties to the metadata information.
- Add a structure to represent function properties. Currently
`numthreads` and shader kind properties of shader entry functions are
represented.
Added:
llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.0.ll
llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.8.ll
llvm/test/Analysis/DXILMetadataAnalysis/entry-properties.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-as.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs-val-ver-0.0.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-gs.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-hs.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ms.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ps.ll
llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-vs.ll
Modified:
llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
llvm/lib/Analysis/DXILMetadataAnalysis.cpp
llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/DXILMetadataAnalysis.h b/llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
index 0515139c01aee6..ed342c28b2d78b 100644
--- a/llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
+++ b/llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
@@ -9,22 +9,34 @@
#ifndef LLVM_ANALYSIS_DXILMETADATA_H
#define LLVM_ANALYSIS_DXILMETADATA_H
+#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/TargetParser/Triple.h"
-#include <memory>
namespace llvm {
+class Function;
namespace dxil {
+struct EntryProperties {
+ const Function *Entry;
+ // Specific target shader stage may be specified for entry functions
+ Triple::EnvironmentType ShaderStage = Triple::UnknownEnvironment;
+ unsigned NumThreadsX{0}; // X component
+ unsigned NumThreadsY{0}; // Y component
+ unsigned NumThreadsZ{0}; // Z component
+
+ EntryProperties(const Function &Fn) : Entry(&Fn) {};
+};
+
struct ModuleMetadataInfo {
VersionTuple DXILVersion{};
VersionTuple ShaderModelVersion{};
Triple::EnvironmentType ShaderStage = Triple::UnknownEnvironment;
VersionTuple ValidatorVersion{};
-
+ SmallVector<EntryProperties> EntryPropertyVec{};
void print(raw_ostream &OS) const;
};
diff --git a/llvm/lib/Analysis/DXILMetadataAnalysis.cpp b/llvm/lib/Analysis/DXILMetadataAnalysis.cpp
index 192e151565370d..cebfe4b84dcdfb 100644
--- a/llvm/lib/Analysis/DXILMetadataAnalysis.cpp
+++ b/llvm/lib/Analysis/DXILMetadataAnalysis.cpp
@@ -8,11 +8,14 @@
#include "llvm/Analysis/DXILMetadataAnalysis.h"
#include "llvm/ADT/APInt.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
+#include "llvm/Support/ErrorHandling.h"
#define DEBUG_TYPE "dxil-metadata-analysis"
@@ -33,15 +36,54 @@ static ModuleMetadataInfo collectMetadataInfo(Module &M) {
MMDAI.ValidatorVersion =
VersionTuple(MajorMD->getZExtValue(), MinorMD->getZExtValue());
}
+
+ // For all HLSL Shader functions
+ for (auto &F : M.functions()) {
+ if (!F.hasFnAttribute("hlsl.shader"))
+ continue;
+
+ EntryProperties EFP(F);
+ // Get "hlsl.shader" attribute
+ Attribute EntryAttr = F.getFnAttribute("hlsl.shader");
+ assert(EntryAttr.isValid() &&
+ "Invalid value specified for HLSL function attribute hlsl.shader");
+ StringRef EntryProfile = EntryAttr.getValueAsString();
+ Triple T("", "", "", EntryProfile);
+ EFP.ShaderStage = T.getEnvironment();
+ // Get numthreads attribute value, if one exists
+ StringRef NumThreadsStr =
+ F.getFnAttribute("hlsl.numthreads").getValueAsString();
+ if (!NumThreadsStr.empty()) {
+ SmallVector<StringRef> NumThreadsVec;
+ NumThreadsStr.split(NumThreadsVec, ',');
+ assert(NumThreadsVec.size() == 3 && "Invalid numthreads specified");
+ // Read in the three component values of numthreads
+ [[maybe_unused]] bool Success =
+ llvm::to_integer(NumThreadsVec[0], EFP.NumThreadsX, 10);
+ assert(Success && "Failed to parse X component of numthreads");
+ Success = llvm::to_integer(NumThreadsVec[1], EFP.NumThreadsY, 10);
+ assert(Success && "Failed to parse Y component of numthreads");
+ Success = llvm::to_integer(NumThreadsVec[2], EFP.NumThreadsZ, 10);
+ assert(Success && "Failed to parse Z component of numthreads");
+ }
+ MMDAI.EntryPropertyVec.push_back(EFP);
+ }
return MMDAI;
}
void ModuleMetadataInfo::print(raw_ostream &OS) const {
OS << "Shader Model Version : " << ShaderModelVersion.getAsString() << "\n";
OS << "DXIL Version : " << DXILVersion.getAsString() << "\n";
- OS << "Shader Stage : " << Triple::getEnvironmentTypeName(ShaderStage)
+ OS << "Target Shader Stage : " << Triple::getEnvironmentTypeName(ShaderStage)
<< "\n";
OS << "Validator Version : " << ValidatorVersion.getAsString() << "\n";
+ for (const auto &EP : EntryPropertyVec) {
+ OS << " " << EP.Entry->getName() << "\n";
+ OS << " Function Shader Stage : "
+ << Triple::getEnvironmentTypeName(EP.ShaderStage) << "\n";
+ OS << " NumThreads: " << EP.NumThreadsX << "," << EP.NumThreadsY << ","
+ << EP.NumThreadsZ << "\n";
+ }
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.0.ll b/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.0.ll
new file mode 100644
index 00000000000000..75c05d86dc7818
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.0.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.0-vertex"
+
+; CHECK: Shader Model Version : 6.0
+; CHECK-NEXT: DXIL Version : 1.0
+; CHECK-NEXT: Shader Stage : vertex
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : vertex
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="vertex" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.8.ll b/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.8.ll
new file mode 100644
index 00000000000000..7a2cb51f9c819f
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/dxilVer-1.8.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.8-compute"
+
+; CHECK: Shader Model Version : 6.8
+; CHECK-NEXT: DXIL Version : 1.8
+; CHECK-NEXT: Shader Stage : compute
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : compute
+; CHECK-NEXT: NumThreads: 1,2,1
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/entry-properties.ll b/llvm/test/Analysis/DXILMetadataAnalysis/entry-properties.ll
new file mode 100644
index 00000000000000..a2c6c3a7952d41
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/entry-properties.ll
@@ -0,0 +1,36 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.8-library"
+
+; CHECK: Shader Model Version : 6.8
+; CHECK-NEXT: DXIL Version : 1.8
+; CHECK-NEXT: Target Shader Stage : library
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry_as
+; CHECK-NEXT: Function Shader Stage : amplification
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-NEXT: entry_ms
+; CHECK-NEXT: Function Shader Stage : mesh
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-NEXT: entry_cs
+; CHECK-NEXT: Function Shader Stage : compute
+; CHECK-NEXT: NumThreads: 1,2,1
+; CHECK-EMPTY:
+
+define void @entry_as() #0 {
+entry:
+ ret void
+}
+
+define i32 @entry_ms(i32 %a) #1 {
+entry:
+ ret i32 %a
+}
+
+define float @entry_cs(float %f) #3 {
+entry:
+ ret float %f
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="amplification" }
+attributes #1 = { noinline nounwind "hlsl.shader"="mesh" }
+attributes #3 = { noinline nounwind "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-as.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-as.ll
new file mode 100644
index 00000000000000..6a8496bf731a3b
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-as.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6-amplification"
+
+; CHECK: Shader Model Version : 6
+; CHECK-NEXT: DXIL Version : 1.0
+; CHECK-NEXT: Target Shader Stage : amplification
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : amplification
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="amplification" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs-val-ver-0.0.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs-val-ver-0.0.ll
new file mode 100644
index 00000000000000..e09f4fc4114338
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs-val-ver-0.0.ll
@@ -0,0 +1,23 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+
+target triple = "dxil-pc-shadermodel6.6-compute"
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "exp-shader"="cs" "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
+
+!dx.valver = !{!0}
+
+!0 = !{i32 0, i32 0}
+
+; CHECK: Shader Model Version : 6.6
+; CHECK-NEXT: DXIL Version : 1.6
+; CHECK-NEXT: Target Shader Stage : compute
+; CHECK-NEXT: Validator Version : 0.0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : compute
+; CHECK-NEXT: NumThreads: 1,2,1
+; CHECK-EMPTY:
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs.ll
new file mode 100644
index 00000000000000..4d6d696e6b29e4
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-cs.ll
@@ -0,0 +1,19 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+
+target triple = "dxil-pc-shadermodel6.6-compute"
+
+; CHECK: Shader Model Version : 6.6
+; CHECK-NEXT: DXIL Version : 1.6
+; CHECK-NEXT: Target Shader Stage : compute
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : compute
+; CHECK-NEXT: NumThreads: 1,2,1
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "exp-shader"="cs" "hlsl.numthreads"="1,2,1" "hlsl.shader"="compute" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-gs.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-gs.ll
new file mode 100644
index 00000000000000..e28438901bdfe1
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-gs.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.6-geometry"
+
+; CHECK: Shader Model Version : 6.6
+; CHECK-NEXT: DXIL Version : 1.6
+; CHECK-NEXT: Shader Stage : geometry
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : geometry
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="geometry" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-hs.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-hs.ll
new file mode 100644
index 00000000000000..fdec1d857118b8
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-hs.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.6-hull"
+
+; CHECK: Shader Model Version : 6.6
+; CHECK-NEXT: DXIL Version : 1.6
+; CHECK-NEXT: Target Shader Stage : hull
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : hull
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="hull" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ms.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ms.ll
new file mode 100644
index 00000000000000..77bc3bbd85f9f2
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ms.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel6.6-mesh"
+
+; CHECK: Shader Model Version : 6.6
+; CHECK-NEXT: DXIL Version : 1.6
+; CHECK-NEXT: Shader Stage : mesh
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : mesh
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="mesh" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ps.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ps.ll
new file mode 100644
index 00000000000000..a02c56dbe17a21
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-ps.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel5.0-pixel"
+
+; CHECK: Shader Model Version : 5.0
+; CHECK-NEXT: DXIL Version : 1.0
+; CHECK-NEXT: Shader Stage : pixel
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : pixel
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="pixel" }
diff --git a/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-vs.ll b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-vs.ll
new file mode 100644
index 00000000000000..107f9fc1f0a24a
--- /dev/null
+++ b/llvm/test/Analysis/DXILMetadataAnalysis/shaderModel-vs.ll
@@ -0,0 +1,18 @@
+; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s
+target triple = "dxil-pc-shadermodel-vertex"
+
+; CHECK: Shader Model Version : 0
+; CHECK-NEXT: DXIL Version : 1.0
+; CHECK-NEXT: Shader Stage : vertex
+; CHECK-NEXT: Validator Version : 0
+; CHECK-NEXT: entry
+; CHECK-NEXT: Function Shader Stage : vertex
+; CHECK-NEXT: NumThreads: 0,0,0
+; CHECK-EMPTY:
+
+define void @entry() #0 {
+entry:
+ ret void
+}
+
+attributes #0 = { noinline nounwind "hlsl.shader"="vertex" }
diff --git a/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll b/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
index 30797945e8e56c..3c54d9a8cf576b 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -passes=dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.0-vertex"
; CHECK: !dx.version = !{![[DXVER:[0-9]+]]}
; CHECK: ![[DXVER]] = !{i32 1, i32 0}
-; ANALYSIS: Shader Model Version : 6.0
-; ANALYSIS-NEXT: DXIL Version : 1.0
-; ANALYSIS-NEXT: Shader Stage : vertex
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll b/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
index 53edcde24b189f..9ed0f90fb38d01 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -passes=dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.8-compute"
; CHECK: !dx.version = !{![[DXVER:[0-9]+]]}
; CHECK: ![[DXVER]] = !{i32 1, i32 8}
-; ANALYSIS: Shader Model Version : 6.8
-; ANALYSIS-NEXT: DXIL Version : 1.8
-; ANALYSIS-NEXT: Shader Stage : compute
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
index 49c820e14e36b4..4db160edb45af1 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6-amplification"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"as", i32 6, i32 0}
-; ANALYSIS: Shader Model Version : 6
-; ANALYSIS-NEXT: DXIL Version : 1.0
-; ANALYSIS-NEXT: Shader Stage : amplification
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
index c9ea6c94e36519..d674ef3693497e 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
@@ -1,5 +1,4 @@
; RUN: opt -S -dxil-prepare %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.6-compute"
@@ -15,9 +14,3 @@ attributes #0 = { noinline nounwind "exp-shader"="cs" "hlsl.numthreads"="1,2,1"
!dx.valver = !{!0}
!0 = !{i32 0, i32 0}
-
-; ANALYSIS: Shader Model Version : 6.6
-; ANALYSIS-NEXT: DXIL Version : 1.6
-; ANALYSIS-NEXT: Shader Stage : compute
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
index f5e524562ac1e0..d055a7435613df 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
@@ -1,18 +1,11 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
; RUN: opt -S -dxil-prepare %s | FileCheck %s --check-prefix=REMOVE_EXTRA_ATTRIBUTE
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.6-compute"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"cs", i32 6, i32 6}
-; ANALYSIS: Shader Model Version : 6.6
-; ANALYSIS-NEXT: DXIL Version : 1.6
-; ANALYSIS-NEXT: Shader Stage : compute
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
index fb58312e2c9310..6d48826c693bed 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.6-geometry"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"gs", i32 6, i32 6}
-; ANALYSIS: Shader Model Version : 6.6
-; ANALYSIS-NEXT: DXIL Version : 1.6
-; ANALYSIS-NEXT: Shader Stage : geometry
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
index b12de400698fe1..cc15460c0bed37 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.6-hull"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"hs", i32 6, i32 6}
-; ANALYSIS: Shader Model Version : 6.6
-; ANALYSIS-NEXT: DXIL Version : 1.6
-; ANALYSIS-NEXT: Shader Stage : hull
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
index d4aa4cfa0ce471..0e8cc4f6504dbc 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
@@ -1,12 +1,6 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.3-library"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"lib", i32 6, i32 3}
-; ANALYSIS: Shader Model Version : 6.3
-; ANALYSIS-NEXT: DXIL Version : 1.3
-; ANALYSIS-NEXT: Shader Stage : library
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
index e22dbbcebf5849..dfab52654eb3f2 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel6.6-mesh"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"ms", i32 6, i32 6}
-; ANALYSIS: Shader Model Version : 6.6
-; ANALYSIS-NEXT: DXIL Version : 1.6
-; ANALYSIS-NEXT: Shader Stage : mesh
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
index eb784d71517bba..71a73f8deb24d7 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel5.0-pixel"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"ps", i32 5, i32 0}
-; ANALYSIS: Shader Model Version : 5.0
-; ANALYSIS-NEXT: DXIL Version : 1.0
-; ANALYSIS-NEXT: Shader Stage : pixel
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
diff --git a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
index ac52b5004eb906..4bb31b0147379b 100644
--- a/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
+++ b/llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll
@@ -1,16 +1,9 @@
; RUN: opt -S -dxil-translate-metadata %s | FileCheck %s
-; RUN: opt -S -passes="print<dxil-metadata>" -disable-output %s 2>&1 | FileCheck %s --check-prefix=ANALYSIS
target triple = "dxil-pc-shadermodel-vertex"
; CHECK: !dx.shaderModel = !{![[SM:[0-9]+]]}
; CHECK: ![[SM]] = !{!"vs", i32 0, i32 0}
-; ANALYSIS: Shader Model Version : 0
-; ANALYSIS-NEXT: DXIL Version : 1.0
-; ANALYSIS-NEXT: Shader Stage : vertex
-; ANALYSIS-NEXT: Validator Version : 0
-; ANALYSIS-EMPTY:
-
define void @entry() #0 {
entry:
ret void
More information about the llvm-commits
mailing list