<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/lib/CIR/CodeGen/CIRGenFunction.cpp, branch users/fmayer/spr/wip-smartpointers</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] Implement inline builtin functions (#163911)</title>
<updated>2025-10-21T16:17:52+00:00</updated>
<author>
<name>Morris Hafner</name>
<email>mmha@users.noreply.github.com</email>
</author>
<published>2025-10-21T16:17:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3155b0504401344279e496da107b3eab0e7295bc'/>
<id>3155b0504401344279e496da107b3eab0e7295bc</id>
<content type='text'>
This patch implements the handling of inline builtin functions in CIR.
There is a known limitation in CIR where direct calls to shadowed inline
builtin functions are generated instead of the intrinsic. This is
expected to be fixed by the introduction of the nobuiltin attribute in a
future patch.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the handling of inline builtin functions in CIR.
There is a known limitation in CIR where direct calls to shadowed inline
builtin functions are generated instead of the intrinsic. This is
expected to be fixed by the introduction of the nobuiltin attribute in a
future patch.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add support for ternary operator as lvalue (#163580)</title>
<updated>2025-10-20T17:18:43+00:00</updated>
<author>
<name>Morris Hafner</name>
<email>mmha@users.noreply.github.com</email>
</author>
<published>2025-10-20T17:18:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=babecd41a84e182584da240d49f3405c25fbac8c'/>
<id>babecd41a84e182584da240d49f3405c25fbac8c</id>
<content type='text'>
Added support for ConditionalOperator, BinaryConditionalOperator and
OpaqueValueExpr as lvalue.

Implemented support for ternary operators with one branch being a throw
expression. This required weakening the requirement that the true and
false regions of the ternary operator must terminate with a `YieldOp`.
Instead the true and false regions are now allowed to terminate with an
`UnreachableOp` and no `YieldOp` gets emitted when the block throws.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added support for ConditionalOperator, BinaryConditionalOperator and
OpaqueValueExpr as lvalue.

Implemented support for ternary operators with one branch being a throw
expression. This required weakening the requirement that the true and
false regions of the ternary operator must terminate with a `YieldOp`.
Instead the true and false regions are now allowed to terminate with an
`UnreachableOp` and no `YieldOp` gets emitted when the block throws.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for variable length arrays (#163297)</title>
<updated>2025-10-15T20:55:18+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-10-15T20:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=85265a93cc796bfbfb6ee88a5b48bbd68b73aa63'/>
<id>85265a93cc796bfbfb6ee88a5b48bbd68b73aa63</id>
<content type='text'>
This adds the code needed to emit alloca operations for variable length
array local variables and the necessary calls to stacksave and
stackrestore to adjust the local stack as the array variables go in an
out of scope.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds the code needed to emit alloca operations for variable length
array local variables and the necessary calls to stacksave and
stackrestore to adjust the local stack as the array variables go in an
out of scope.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add support for virtual destructor calls (#162725)</title>
<updated>2025-10-13T17:31:10+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-10-13T17:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d81e8c02d478ddad13b724b86e6302160f11295a'/>
<id>d81e8c02d478ddad13b724b86e6302160f11295a</id>
<content type='text'>
This adds support for calling virtual destructors.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for calling virtual destructors.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add support for destructing class members (#162196)</title>
<updated>2025-10-08T18:46:31+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-10-08T18:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=81c6f53c19cd29c401355a1c5764b35bfdea6164'/>
<id>81c6f53c19cd29c401355a1c5764b35bfdea6164</id>
<content type='text'>
This adds the necessary cleanup handling to get class destructors to
call the destructor for fields that require it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds the necessary cleanup handling to get class destructors to
call the destructor for fields that require it.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Initial support for emitting coroutine body (#161616)</title>
<updated>2025-10-03T18:56:53+00:00</updated>
<author>
<name>Andres-Salamanca</name>
<email>andrealebarbaritos@gmail.com</email>
</author>
<published>2025-10-03T18:56:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=16f5a85fb648027b9644b21c8c0fa9188d6c39b9'/>
<id>16f5a85fb648027b9644b21c8c0fa9188d6c39b9</id>
<content type='text'>
This PR adds new `FuncOp` attributes (`coroutine` and `builtin`) and
begins the implementation of the `emitCoroutineBody` function. Feature
markers were also added for guidance in future PRs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds new `FuncOp` attributes (`coroutine` and `builtin`) and
begins the implementation of the `emitCoroutineBody` function. Feature
markers were also added for guidance in future PRs.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Add support for emitting predefined expressions (#161757)</title>
<updated>2025-10-03T17:37:06+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-10-03T17:37:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d6449b55cd8f5e40da91b8495e4766e845295946'/>
<id>d6449b55cd8f5e40da91b8495e4766e845295946</id>
<content type='text'>
This adds support for emitting pseudo-macro expressions that represent
some form of the name of a function (such as `__func__` or
`__PRETTY_FUNCTION__`) as l-values.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for emitting pseudo-macro expressions that represent
some form of the name of a function (such as `__func__` or
`__PRETTY_FUNCTION__`) as l-values.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Implement GenericSelectionExpr for AggregateExpr (#161003)</title>
<updated>2025-10-01T15:34:14+00:00</updated>
<author>
<name>Amr Hesham</name>
<email>amr96@programmer.net</email>
</author>
<published>2025-10-01T15:34:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0e17fb52da131a21ec5ad4878ee3b54b8deb5b59'/>
<id>0e17fb52da131a21ec5ad4878ee3b54b8deb5b59</id>
<content type='text'>
Implement the GenericSelectionExpr for AggregateExpr</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement the GenericSelectionExpr for AggregateExpr</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Upstream support for generating global ctor regions (#161298)</title>
<updated>2025-09-30T21:20:13+00:00</updated>
<author>
<name>Andy Kaylor</name>
<email>akaylor@nvidia.com</email>
</author>
<published>2025-09-30T21:20:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ca84f2aa3be6e46a4dccb1bec56b93f2bb3d8ef0'/>
<id>ca84f2aa3be6e46a4dccb1bec56b93f2bb3d8ef0</id>
<content type='text'>
This adds support for handling global variables with non-trivial
constructors. The constructor call is emitted in CIR as a 'ctor' region
associated with the global definition. This form of global definition
cannot be lowered to LLVM IR yet.

A later change will add support in LoweringPrepare to move the ctor code
into a __cxx_global_var_init() function and add that function to the
list of global global ctors, but for now we must stop at the initial CIR
generation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for handling global variables with non-trivial
constructors. The constructor call is emitted in CIR as a 'ctor' region
associated with the global definition. This form of global definition
cannot be lowered to LLVM IR yet.

A later change will add support in LoweringPrepare to move the ctor code
into a __cxx_global_var_init() function and add that function to the
list of global global ctors, but for now we must stop at the initial CIR
generation.</pre>
</div>
</content>
</entry>
<entry>
<title>[CIR] Implement ChooseExpr for AggregateExpr (#160999)</title>
<updated>2025-09-30T17:16:31+00:00</updated>
<author>
<name>Amr Hesham</name>
<email>amr96@programmer.net</email>
</author>
<published>2025-09-30T17:16:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ee8394d9469a2946ffe2e7d192c593ecf3f93098'/>
<id>ee8394d9469a2946ffe2e7d192c593ecf3f93098</id>
<content type='text'>
Implement the ChooseExpr for aggregate expr</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement the ChooseExpr for aggregate expr</pre>
</div>
</content>
</entry>
</feed>
