[PATCH] D131545: [DirectX backend] set target triple to "dxil-ms-dx"

Xiang Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 24 11:33:34 PDT 2022


python3kgae updated this revision to Diff 470231.
python3kgae added a comment.

Make sure triple is restored.


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/CodeGen/DirectX/embed-dxil.ll
  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/test/CodeGen/DirectX/embed-dxil.ll
===================================================================
--- llvm/test/CodeGen/DirectX/embed-dxil.ll
+++ llvm/test/CodeGen/DirectX/embed-dxil.ll
@@ -3,6 +3,9 @@
 ; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC
 target triple = "dxil-unknown-shadermodel6.5-library"
 
+; Make sure triple is restored after updated to dxil.
+; CHECK:target triple = "dxil-unknown-shadermodel6.5-library"
+
 define i32 @add(i32 %a, i32 %b) {
   %sum = add i32 %a, %b
   ret i32 %sum
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.470231.patch
Type: text/x-patch
Size: 2298 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221024/3712816f/attachment.bin>


More information about the llvm-commits mailing list