[PATCH] D131545: [DirectX backend] emit metadata for DXIL version, ShaderModel.
Xiang Li via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 13 17:21:57 PDT 2022
python3kgae updated this revision to Diff 467642.
python3kgae added a comment.
Rebase and only set target triple to "dxil-ms-dx"
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131545/new/
https://reviews.llvm.org/D131545
Files:
llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
llvm/test/tools/dxil-dis/attribute-filter.ll
llvm/test/tools/dxil-dis/triple.ll
Index: llvm/test/tools/dxil-dis/triple.ll
===================================================================
--- /dev/null
+++ llvm/test/tools/dxil-dis/triple.ll
@@ -0,0 +1,5 @@
+; RUN: llc --filetype=obj %s -o - | dxil-dis -o - | FileCheck %s
+target triple = "dxil-unknown-shadermodel6.7-library"
+
+; Make sure triple updated to dxil.
+; CHECK:target triple = "dxil-ms-dx"
Index: llvm/test/tools/dxil-dis/attribute-filter.ll
===================================================================
--- llvm/test/tools/dxil-dis/attribute-filter.ll
+++ llvm/test/tools/dxil-dis/attribute-filter.ll
@@ -1,6 +1,6 @@
; RUN: llc %s --filetype=obj -o - | dxil-dis -o - | FileCheck %s
-; CHECK: target triple = "dxil-unknown-shadermodel6.7-library"
+; CHECK: target triple = "dxil-ms-dx"
target triple = "dxil-unknown-shadermodel6.7-library"
; CHECK: Function Attrs: nounwind readnone
Index: llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
===================================================================
--- llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+++ llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
@@ -64,8 +64,17 @@
bool runOnModule(Module &M) override {
std::string Data;
llvm::raw_string_ostream OS(Data);
+
+ const std::string OriginalTriple = M.getTargetTriple();
+ // Set to DXIL triple when write to bitcode.
+ // Only the output bitcode need to be DXIL triple.
+ M.setTargetTriple("dxil-ms-dx");
+
WriteDXILToFile(M, OS);
+ // Recover triple.
+ M.setTargetTriple(OriginalTriple);
+
Constant *ModuleConstant =
ConstantDataArray::get(M.getContext(), arrayRefFromStringRef(Data));
auto *GV = new llvm::GlobalVariable(M, ModuleConstant->getType(), true,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131545.467642.patch
Type: text/x-patch
Size: 1746 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221014/b8266dd0/attachment.bin>
More information about the llvm-commits
mailing list