<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-ir-sccp.cpp, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-07-11T17:12:17+00:00</updated>
<entry>
<title>Fix IEEE 754 NaN comparisons in constant folding (#7721)</title>
<updated>2025-07-11T17:12:17+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-07-11T17:12:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=57567778b7d91afe7e6325c731d54b313b8b16e9'/>
<id>urn:sha1:57567778b7d91afe7e6325c731d54b313b8b16e9</id>
<content type='text'>
* Fix IEEE 754 NaN comparisons in constant folding

Added proper NaN handling in SCCP optimization pass to follow IEEE 754 standard:
- NaN \!= any value returns true
- All other NaN comparisons return false
- Added double precision NaN detection support
- Fixed type detection to check operands instead of result type

* Avoid differentiating NaN and non-NaN cases

* format code (#76)

---------

Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;</content>
</entry>
<entry>
<title>Move switch statement bodies to their own lines (#5493)</title>
<updated>2024-11-05T17:47:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-11-05T17:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b118451e301d734e3e783b3acdf871f3f6ea851c'/>
<id>urn:sha1:b118451e301d734e3e783b3acdf871f3f6ea851c</id>
<content type='text'>
* Move switch statement bodies to their own lines

* format

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>format</title>
<updated>2024-10-29T06:49:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T06:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21'/>
<id>urn:sha1:f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21</id>
<content type='text'>
* format

* Minor test fixes

* enable checking cpp format in ci</content>
</entry>
<entry>
<title>Add constant folding for % operator. (#4359)</title>
<updated>2024-06-12T19:48:32+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-06-12T19:48:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7447fcafa71440336f553d6e0af21b12fc74d138'/>
<id>urn:sha1:7447fcafa71440336f553d6e0af21b12fc74d138</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix the sign-extending issue in right shift (#3820)</title>
<updated>2024-03-26T18:05:00+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-03-26T18:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=57f514d09d3b879e238f37980456634e8286691c'/>
<id>urn:sha1:57f514d09d3b879e238f37980456634e8286691c</id>
<content type='text'>
Fix issue  (#3637).

In constant folding of a right shift operation,slang always uses
signed interger as the operand no matter the input source code is
signed or unsigned, this could causes sign-extending issue if the
input source is unsigned integer with highest bit set to 1.

Fix the issue by checking the original type of the input and use
the unsigned type if the input is unsigned.</content>
</entry>
<entry>
<title>SPIRV compiler performance fixes. (#3258)</title>
<updated>2023-10-04T18:20:35+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-10-04T18:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ac886fd3e329a9599ed1ac7a6d8b26ca5821046c'/>
<id>urn:sha1:ac886fd3e329a9599ed1ac7a6d8b26ca5821046c</id>
<content type='text'>
* SPIRV compiler performance fixes.

* Cleanup.

* update project files

* Cleanup debug code.

* Make redundancy removal non-recursive.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Various slangpy fixes. (#3227)</title>
<updated>2023-09-21T21:00:48+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-09-21T21:00:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5b2eb06816521cc0fcfe03258452560bd200002d'/>
<id>urn:sha1:5b2eb06816521cc0fcfe03258452560bd200002d</id>
<content type='text'>
* Make dynamic cast transparent through `IRAttributedType`.

* Add [CUDAXxx] variant of attributes.

* Support marshaling of vector types.

* Wrap cuda kernels in `extern "C"` block.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Add `target_switch` and `intrinsic_asm` statement. (#3154)</title>
<updated>2023-08-29T04:24:49+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-08-29T04:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c787c4b82ba76f87069911f203eb192060b5264f'/>
<id>urn:sha1:c787c4b82ba76f87069911f203eb192060b5264f</id>
<content type='text'>
* Add `target_switch` and `__intrinsic_asm` statement.

* Cleanup.

* WaveGetActiveMask, WaveGetActiveMask, WaveCountBits.

* WaveIsFirstLane.

* More wave intrinsics.

* wave intrinsics.

* merge fix.

* Fix.

* Fix.

* Update test.

* update test.

* Fix.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Optimize specialization, and remove unnecessary calls to `simplifyIR`. (#2999)</title>
<updated>2023-07-19T20:50:49+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-07-19T20:50:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1cfb1c85b52e00cde2d21874a88cda2c22d18b62'/>
<id>urn:sha1:1cfb1c85b52e00cde2d21874a88cda2c22d18b62</id>
<content type='text'>
* Remove unneccessary calls to `simplifyIR`.

* fix.

* Delete obsolete hoistConst pass.

* Fix.

* Small improvements.

* Fix.

* Fix enum lowering.

* fix

* tweaks.

* tweaks.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Fix div-by-zero error during sccp. (#2911)</title>
<updated>2023-05-31T19:36:48+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-05-31T19:36:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5dd401e416e18fdfe904a66284b0cf56cf256ec7'/>
<id>urn:sha1:5dd401e416e18fdfe904a66284b0cf56cf256ec7</id>
<content type='text'>
* Diagnose on div-by-zero during sccp.

* fix

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
</feed>
