[llvm] [DirectX] Fix dxc-compatible DataLayout in BitcodeWriter (PR #167410)

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 10 14:55:08 PST 2025


https://github.com/bogner created https://github.com/llvm/llvm-project/pull/167410

In #163587 we attempted to generate a dxc-compatible DataLayout when emitting DXIL, but somehow got it wrong. Update using the DataLayout that dxc emits verbatim.

Fixes #163882

>From de5b6b88350cc31fb79e530efafc989ceaec2d9c Mon Sep 17 00:00:00 2001
From: Justin Bogner <mail at justinbogner.com>
Date: Mon, 10 Nov 2025 14:45:11 -0800
Subject: [PATCH] [DirectX] Fix dxc-compatible DataLayout in BitcodeWriter

In #163587 we attempted to generate a dxc-compatible DataLayout when emitting
DXIL, but somehow got it wrong. Update using the DataLayout that dxc emits
verbatim.

Fixes #163882
---
 llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp b/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
index 26a8728e1f37c..48a9085820471 100644
--- a/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
+++ b/llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
@@ -1169,8 +1169,8 @@ void DXILBitcodeWriter::writeModuleInfo() {
   // We need to hardcode a triple and datalayout that's compatible with the
   // historical DXIL triple and datalayout from DXC.
   StringRef Triple = "dxil-ms-dx";
-  StringRef DL = "e-m:e-p:32:32-i1:8-i8:8-i16:32-i32:32-i64:64-"
-                 "f16:32-f32:32-f64:64-n8:16:32:64";
+  StringRef DL = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-"
+                 "f16:16-f32:32-f64:64-n8:16:32:64";
   writeStringRecord(Stream, bitc::MODULE_CODE_TRIPLE, Triple, 0 /*TODO*/);
   writeStringRecord(Stream, bitc::MODULE_CODE_DATALAYOUT, DL, 0 /*TODO*/);
 



More information about the llvm-commits mailing list