<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/CodeGenHLSL/BasicFeatures, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[HLSL] Layout Initalizer list in Column order via index conversion (#166277)</title>
<updated>2025-11-05T03:22:24+00:00</updated>
<author>
<name>Farzon Lotfi</name>
<email>farzonlotfi@microsoft.com</email>
</author>
<published>2025-11-05T03:22:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9cd1e4067873ac9d4348bae9de32a34575d1d64f'/>
<id>9cd1e4067873ac9d4348bae9de32a34575d1d64f</id>
<content type='text'>
fixes #165663

The bug was that we were using the initalizer lists index to populate
the matrix. This meant that [0..n] would coorelate to [0..n] indicies of
the flattened matrix. Hence why we were seeing the Row-major order: [ 0
1 2 3 4 5 ]. To fix this we can simply converted these indicies to the
Column-major order: [ 0 3 1 4 2 5 ].

The net effect of this is the layout of the matrix is now correct and we
don't need to change the MatrixSubscriptExpr indexing scheme.

---------

Co-authored-by: Deric C. &lt;cheung.deric@gmail.com&gt;
Co-authored-by: Helena Kotas &lt;hekotas@microsoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #165663

The bug was that we were using the initalizer lists index to populate
the matrix. This meant that [0..n] would coorelate to [0..n] indicies of
the flattened matrix. Hence why we were seeing the Row-major order: [ 0
1 2 3 4 5 ]. To fix this we can simply converted these indicies to the
Column-major order: [ 0 3 1 4 2 5 ].

The net effect of this is the layout of the matrix is now correct and we
don't need to change the MatrixSubscriptExpr indexing scheme.

---------

Co-authored-by: Deric C. &lt;cheung.deric@gmail.com&gt;
Co-authored-by: Helena Kotas &lt;hekotas@microsoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Add NativeInt16Type langopt to control whether short type is supported. Enabled by default for all but HLSL. (#165584)</title>
<updated>2025-10-31T16:49:32+00:00</updated>
<author>
<name>Sarah Spall</name>
<email>sarahspall@microsoft.com</email>
</author>
<published>2025-10-31T16:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=42004193f4e22a61dc68f6414b82077edd1314e2'/>
<id>42004193f4e22a61dc68f6414b82077edd1314e2</id>
<content type='text'>
Add a new langopt NativeInt16Type to control support for 16 bit
integers.
Enable by default for all languages but HLSL. 
HLSL defines uint16_t and int16_t as a typedef of short. If
-enable-16bit-types is not used, the typedefs don't exist so int16_t and
uint16_t can't be used. However, short was still allowed. This change
will produce an error 'unknown type name short' if -enable-16bit-types
isn't used.
Update failing tests. 
Add new test.
Closes #81779</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new langopt NativeInt16Type to control support for 16 bit
integers.
Enable by default for all languages but HLSL. 
HLSL defines uint16_t and int16_t as a typedef of short. If
-enable-16bit-types is not used, the typedefs don't exist so int16_t and
uint16_t can't be used. However, short was still allowed. This change
will produce an error 'unknown type name short' if -enable-16bit-types
isn't used.
Update failing tests. 
Add new test.
Closes #81779</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Fix vector list initialization (#161421)</title>
<updated>2025-10-06T17:39:12+00:00</updated>
<author>
<name>Chris B</name>
<email>chris.bieneman@me.com</email>
</author>
<published>2025-10-06T17:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d3d7c3c8d1d83cf5f94ae55fd39c2a2f98f93d5c'/>
<id>d3d7c3c8d1d83cf5f94ae55fd39c2a2f98f93d5c</id>
<content type='text'>
This simplifies and cleans up the vector list initialization behavior.
This simplifies the work we do in SemaInit by just relying on SemaHLSL's
initialization list flattening. This change fixes some outstanding
limitations by supporting structure to vector initialization, but
re-introduces HLSL's limitations around overload resolution in
initializers.

---------

Co-authored-by: Helena Kotas &lt;hekotas@microsoft.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplifies and cleans up the vector list initialization behavior.
This simplifies the work we do in SemaInit by just relying on SemaHLSL's
initialization list flattening. This change fixes some outstanding
limitations by supporting structure to vector initialization, but
re-introduces HLSL's limitations around overload resolution in
initializers.

---------

Co-authored-by: Helena Kotas &lt;hekotas@microsoft.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Add support for elementwise and aggregate splat casting struct types with bitfields (#161263)</title>
<updated>2025-10-06T15:26:23+00:00</updated>
<author>
<name>Sarah Spall</name>
<email>sarahspall@microsoft.com</email>
</author>
<published>2025-10-06T15:26:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=35c57a778bbd25d4df92b4b0e172b2f2aa3bf4f3'/>
<id>35c57a778bbd25d4df92b4b0e172b2f2aa3bf4f3</id>
<content type='text'>
Adds support for elementwise and aggregate splat casting struct types
with bitfields. Replacing existing Flattening function which used to
produce a list of GEPs representing a flattened object with one that
produces a list of LValues representing a flattened object. The LValues
can be used by EmitStoreThroughLValue and EmitLoadOfLValue, ensuring
bitfields are properly loaded and stored. This also simplifies the code
in the elementwise and aggregate splat casting functions.
Closes #125986</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds support for elementwise and aggregate splat casting struct types
with bitfields. Replacing existing Flattening function which used to
produce a list of GEPs representing a flattened object with one that
produces a list of LValues representing a flattened object. The LValues
can be used by EmitStoreThroughLValue and EmitLoadOfLValue, ensuring
bitfields are properly loaded and stored. This also simplifies the code
in the elementwise and aggregate splat casting functions.
Closes #125986</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Enable InitList code to handle zero sized structs (#160355)</title>
<updated>2025-09-23T21:05:42+00:00</updated>
<author>
<name>Sarah Spall</name>
<email>sarahspall@microsoft.com</email>
</author>
<published>2025-09-23T21:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f8bb4f9311712e6562d07a6d3fdaa89d61c9e2ac'/>
<id>f8bb4f9311712e6562d07a6d3fdaa89d61c9e2ac</id>
<content type='text'>
Enable InitList code to handle zero sized structs; this includes structs
with no fields and those with only unnamed bitfields.
Closes #157920</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable InitList code to handle zero sized structs; this includes structs
with no fields and those with only unnamed bitfields.
Closes #157920</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] avoid unnamed bit fields when dealing with InitLists in HLSL (#159212)</title>
<updated>2025-09-23T16:35:45+00:00</updated>
<author>
<name>Sarah Spall</name>
<email>sarahspall@microsoft.com</email>
</author>
<published>2025-09-23T16:35:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fc438d30d92b09cad28bbc189910f9bb958d8f3b'/>
<id>fc438d30d92b09cad28bbc189910f9bb958d8f3b</id>
<content type='text'>
In HLSL Init List code avoid initializing unnamed bitfields and avoid
initializing using unnamed bit fields.
Add tests.
Closes #157922</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In HLSL Init List code avoid initializing unnamed bitfields and avoid
initializing using unnamed bit fields.
Add tests.
Closes #157922</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Avoid putting the byval attribute on out and inout parameters (#150495)</title>
<updated>2025-07-24T20:54:00+00:00</updated>
<author>
<name>Deric C.</name>
<email>cheung.deric@gmail.com</email>
</author>
<published>2025-07-24T20:54:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ed9a1027a482d18b3cf063e8bcc6e31a4c7dc024'/>
<id>ed9a1027a482d18b3cf063e8bcc6e31a4c7dc024</id>
<content type='text'>
Fixes #148063 by preventing the ByVal attribute from being placed on out
and inout function parameters which causes them to be eliminated by the
Dead Store Elimination (DSE) pass.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #148063 by preventing the ByVal attribute from being placed on out
and inout function parameters which causes them to be eliminated by the
Dead Store Elimination (DSE) pass.</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Use hidden visibility for external linkage. (#140292)</title>
<updated>2025-06-16T20:44:55+00:00</updated>
<author>
<name>Steven Perron</name>
<email>stevenperron@google.com</email>
</author>
<published>2025-06-16T20:44:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a027eb4472ee8fa504c98bef655cac8c8bfe333a'/>
<id>a027eb4472ee8fa504c98bef655cac8c8bfe333a</id>
<content type='text'>
Implements

https://github.com/llvm/wg-hlsl/blob/main/proposals/0026-symbol-visibility.md.

The change is to stop using the `hlsl.export` attribute. Instead,
symbols with "program linkage" in HLSL will have export linkage with
default visibility, and symbols with "external linkage" in HLSL will
have export linkage with hidden visibility.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements

https://github.com/llvm/wg-hlsl/blob/main/proposals/0026-symbol-visibility.md.

The change is to stop using the `hlsl.export` attribute. Instead,
symbols with "program linkage" in HLSL will have export linkage with
default visibility, and symbols with "external linkage" in HLSL will
have export linkage with hidden visibility.</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Handle init list with OpaqueValueExprs in CGExprScalar (#138541)</title>
<updated>2025-05-05T20:04:41+00:00</updated>
<author>
<name>Sarah Spall</name>
<email>sarahspall@microsoft.com</email>
</author>
<published>2025-05-05T20:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=02e0a954a014bc44796c84abe5445ae0d20eeeb5'/>
<id>02e0a954a014bc44796c84abe5445ae0d20eeeb5</id>
<content type='text'>
When an HLSL Init list is producing a Scalar, handle OpaqueValueExprs in
the Init List with 'emitInitListOpaqueValues'
Copied from 'AggExprEmitter::VisitCXXParenListOrInitListExpr'
Closes #136408

---------

Co-authored-by: Chris B &lt;beanz@abolishcrlf.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When an HLSL Init list is producing a Scalar, handle OpaqueValueExprs in
the Init List with 'emitInitListOpaqueValues'
Copied from 'AggExprEmitter::VisitCXXParenListOrInitListExpr'
Closes #136408

---------

Co-authored-by: Chris B &lt;beanz@abolishcrlf.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[HLSL] Treat classes and structs as packed by default (#137391)</title>
<updated>2025-04-28T20:44:46+00:00</updated>
<author>
<name>Justin Bogner</name>
<email>mail@justinbogner.com</email>
</author>
<published>2025-04-28T20:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f9855917f6a4af4cedbfb2d6df927a308e6e5f4c'/>
<id>f9855917f6a4af4cedbfb2d6df927a308e6e5f4c</id>
<content type='text'>
Fixes #121010.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #121010.</pre>
</div>
</content>
</entry>
</feed>
