<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/CIR/CodeGen/loop.cpp, branch users/ojhunt/ptrauth-additions</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>[CIR] Add inline function attributes (#162866)</title>
<updated>2025-10-17T05:02:09+00:00</updated>
<author>
<name>Morris Hafner</name>
<email>mmha@users.noreply.github.com</email>
</author>
<published>2025-10-17T05:02:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4aba5edd4945a9b5c44788e08a07b0af513bad00'/>
<id>4aba5edd4945a9b5c44788e08a07b0af513bad00</id>
<content type='text'>
Unlike the incubator, this adds the inline attribute directly to FuncOp
instead of adding the ExtraFnAttr dict.

This adds three new optional keywords to CIR: inline_always,
inline_never and inline_hint. Just like in OGCG -O0 implies inline_never
on functions withoutt the C++ `inline` keyword and no other
inlining-related attribute.

This patch also adapts all tests that use functions so they account for
LLVM attributes being attached now.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unlike the incubator, this adds the inline attribute directly to FuncOp
instead of adding the ExtraFnAttr dict.

This adds three new optional keywords to CIR: inline_always,
inline_never and inline_hint. Just like in OGCG -O0 implies inline_never
on functions withoutt the C++ `inline` keyword and no other
inlining-related attribute.

This patch also adapts all tests that use functions so they account for
LLVM attributes being attached now.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Clean up ptr_stride assembly format (#162138)</title>
<updated>2025-10-06T19:58:14+00:00</updated>
<author>
<name>Henrich Lauko</name>
<email>xlauko@mail.muni.cz</email>
</author>
<published>2025-10-06T19:58:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8252b49b41b6778edc24ad9d6501c398a01c0b36'/>
<id>8252b49b41b6778edc24ad9d6501c398a01c0b36</id>
<content type='text'>
This mirrors changes from https://github.com/llvm/clangir/pull/1933</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This mirrors changes from https://github.com/llvm/clangir/pull/1933</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Refactor cir.cast to use uniform assembly form w/o parens, commas (#161431)</title>
<updated>2025-10-01T08:44:05+00:00</updated>
<author>
<name>Henrich Lauko</name>
<email>xlauko@mail.muni.cz</email>
</author>
<published>2025-10-01T08:44:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=57b1b254297ed2d2fd9560e6a5eef0c44918223a'/>
<id>57b1b254297ed2d2fd9560e6a5eef0c44918223a</id>
<content type='text'>
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1922</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1922</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add support for function linkage and visibility (#145600)</title>
<updated>2025-06-25T17:59:30+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-06-25T17:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1e45ea12db5e4ce545576270f846aa0bc06c5680'/>
<id>1e45ea12db5e4ce545576270f846aa0bc06c5680</id>
<content type='text'>
This change adds support for function linkage and visibility and related
attributes. Most of the test changes are generalizations to allow
'dso_local' to be accepted where we aren't specifically testing for it.
Some tests based on CIR inputs have been updated to add 'private' to
function declarations where required by newly supported interfaces.

The dso-local.c test has been updated to add specific tests for
dso_local being set correctly, and a new test, func-linkage.cpp tests
other linkage settings.

This change sets `comdat` correctly in CIR, but it is not yet applied to
functions when lowering to LLVM IR. That will be handled in a later
change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds support for function linkage and visibility and related
attributes. Most of the test changes are generalizations to allow
'dso_local' to be accepted where we aren't specifically testing for it.
Some tests based on CIR inputs have been updated to add 'private' to
function declarations where required by newly supported interfaces.

The dso-local.c test has been updated to add specific tests for
dso_local being set correctly, and a new test, func-linkage.cpp tests
other linkage settings.

This change sets `comdat` correctly in CIR, but it is not yet applied to
functions when lowering to LLVM IR. That will be handled in a later
change.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add alignment support for global, store, and load ops (#141163)</title>
<updated>2025-05-23T22:34:59+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-05-23T22:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ea3c225786a71376ab0758cda8f3716da2469142'/>
<id>ea3c225786a71376ab0758cda8f3716da2469142</id>
<content type='text'>
This adds alignment support for GlobalOp, LoadOp, and StoreOp.

Tests which failed because cir.store/cir.load now print alignment were
updated with wildcard matches, except where the alignment was relevant
to the test. Tests which check for cir.store/cir.load in cases that
don't have explicit alignment were not updated.

New tests for alignment are alignment.c, align-load.c, and
align-store.c.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds alignment support for GlobalOp, LoadOp, and StoreOp.

Tests which failed because cir.store/cir.load now print alignment were
updated with wildcard matches, except where the alignment was relevant
to the test. Tests which check for cir.store/cir.load in cases that
don't have explicit alignment were not updated.

New tests for alignment are alignment.c, align-load.c, and
align-store.c.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for range-based for loops (#138176)</title>
<updated>2025-05-01T21:47:20+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-05-01T21:47:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a76936f1c01c7cadbce8ea6553af758d0f614b6a'/>
<id>a76936f1c01c7cadbce8ea6553af758d0f614b6a</id>
<content type='text'>
This upstreams the code needed to handle CXXForRangeStmt.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This upstreams the code needed to handle CXXForRangeStmt.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for name mangling (#137094)</title>
<updated>2025-04-24T21:24:19+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-04-24T21:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d71164855fb22b48cbd65a1e372be804dc404bb'/>
<id>7d71164855fb22b48cbd65a1e372be804dc404bb</id>
<content type='text'>
We have been using the default names for global symbols to this point.
This change introduces proper name mangling for functions.

This requires introducing a CXXABI class in the CIRGenModule. Because
only target independent name mangling is handled in this patch, the
CXXABI class does not require a target-specific implementation. The
general mechanism for selecting an implementation is introduced here,
but the actual target-specific subclasses are deferred until needed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have been using the default names for global symbols to this point.
This change introduces proper name mangling for functions.

This requires introducing a CXXABI class in the CIRGenModule. Because
only target independent name mangling is handled in this patch, the
CXXABI class does not require a target-specific implementation. The
general mechanism for selecting an implementation is introduced here,
but the actual target-specific subclasses are deferred until needed.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for break and continue statements (#134181)</title>
<updated>2025-04-04T22:53:11+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-04-04T22:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b0d0636026cdd2d1088d60c169a7a3a3371c0e66'/>
<id>b0d0636026cdd2d1088d60c169a7a3a3371c0e66</id>
<content type='text'>
This adds ClangIR support for break and continue statements in loops.

Because only loops are currently implemented upstream in CIR, only
breaks in loops are supported here, but this same code will work (with
minor changes to the verification and cfg flattening) when switch
statements are upstreamed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds ClangIR support for break and continue statements in loops.

Because only loops are currently implemented upstream in CIR, only
breaks in loops are supported here, but this same code will work (with
minor changes to the verification and cfg flattening) when switch
statements are upstreamed.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for while and do..while loops (#133157)</title>
<updated>2025-04-01T20:03:24+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-04-01T20:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2'/>
<id>9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2</id>
<content type='text'>
This adds basic support for while and do..while loops. Support for break
and continue are left for a subsequent patch.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds basic support for while and do..while loops. Support for break
and continue are left for a subsequent patch.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Emit allocas into the proper lexical scope (#132468)</title>
<updated>2025-03-25T23:13:57+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-03-25T23:13:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bff94d774cda03e43aff1cdf6e4945136bbab3d7'/>
<id>bff94d774cda03e43aff1cdf6e4945136bbab3d7</id>
<content type='text'>
Alloca operations were being emitted into the entry block of the current
function unconditionally, even if the variable they represented was
declared in a different scope. This change upstreams the code for
handling
insertion of the alloca into the proper lexcial scope. It also adds a
CIR-to-CIR transformation to hoist allocas to the function entry block,
which is necessary to produce the expected LLVM IR during lowering.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Alloca operations were being emitted into the entry block of the current
function unconditionally, even if the variable they represented was
declared in a different scope. This change upstreams the code for
handling
insertion of the alloca into the proper lexcial scope. It also adds a
CIR-to-CIR transformation to hoist allocas to the function entry block,
which is necessary to produce the expected LLVM IR during lowering.</pre>
</div>
</content>
</entry>
</feed>
