<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp, branch users/mingmingl-llvm/samplefdo-profile-format</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>[OpenACC] Change lowering signature for 'destroy' (#156716)</title>
<updated>2025-09-03T17:53:37+00:00</updated>
<author>
<name>Erich Keane</name>
<email>ekeane@nvidia.com</email>
</author>
<published>2025-09-03T17:53:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=878fa7b2686a8776d1f36a5bb516c95a07838825'/>
<id>878fa7b2686a8776d1f36a5bb516c95a07838825</id>
<content type='text'>
Patch #156545 is introducing a different syntax for the 'destroy'
section of a recipe, which takes the 'original' value as the first
argument, and the one-to-be-destroyed as the 2nd. This patch corrects
the lowering to match that signature.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch #156545 is introducing a different syntax for the 'destroy'
section of a recipe, which takes the 'original' value as the first
argument, and the one-to-be-destroyed as the 2nd. This patch corrects
the lowering to match that signature.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenACC] Add C tests for recipe generation, fix NYI</title>
<updated>2025-08-26T16:49:47+00:00</updated>
<author>
<name>erichkeane</name>
<email>ekeane@nvidia.com</email>
</author>
<published>2025-08-26T14:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=83dbba65d558a3568e79e387e59aad910bfd14cc'/>
<id>83dbba65d558a3568e79e387e59aad910bfd14cc</id>
<content type='text'>
I realized while messing with other things that I'd written all of the
recipe tests for C++, so this patch adds a bunch of tests for C mode.
The assert wasn't quite accurate (as C default init doesn't really do
anything/have an AST node), so that is corrected.  Also, the lack of
cir.copy causes some of the firstprivate tests to be incomplete, so
added TODOs for that as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I realized while messing with other things that I'd written all of the
recipe tests for C++, so this patch adds a bunch of tests for C mode.
The assert wasn't quite accurate (as C default init doesn't really do
anything/have an AST node), so that is corrected.  Also, the lack of
cir.copy causes some of the firstprivate tests to be incomplete, so
added TODOs for that as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenACC] Implement 'firstprivate' clause copy lowering (#154150)</title>
<updated>2025-08-19T13:02:10+00:00</updated>
<author>
<name>Erich Keane</name>
<email>ekeane@nvidia.com</email>
</author>
<published>2025-08-19T13:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=dab8c88f1533e6f2b4c788fc1c4a67ceb2e6c1e5'/>
<id>dab8c88f1533e6f2b4c788fc1c4a67ceb2e6c1e5</id>
<content type='text'>
This patch is the last of the 'firstprivate' clause lowering patches. It
takes the already generated 'copy' init from Sema and uses it to
generate the IR for the copy section of the recipe.

However, one thing that this patch had to do, was come up with a way to
hijack the decl registration in CIRGenFunction. Because these decls are
being created in a 'different' place, we need to remove the things we've
added. We could alternatively generate these 'differently', but it seems
worth a little extra effort here to avoid having to re-implement
variable initialization.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is the last of the 'firstprivate' clause lowering patches. It
takes the already generated 'copy' init from Sema and uses it to
generate the IR for the copy section of the recipe.

However, one thing that this patch had to do, was come up with a way to
hijack the decl registration in CIRGenFunction. Because these decls are
being created in a 'different' place, we need to remove the things we've
added. We could alternatively generate these 'differently', but it seems
worth a little extra effort here to avoid having to re-implement
variable initialization.</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenACC] Fix racing commit test failures for firstprivate lowering</title>
<updated>2025-08-18T14:26:50+00:00</updated>
<author>
<name>erichkeane</name>
<email>ekeane@nvidia.com</email>
</author>
<published>2025-08-18T13:51:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0dbcdf33b835615144b308f2e7cc7f24657218eb'/>
<id>0dbcdf33b835615144b308f2e7cc7f24657218eb</id>
<content type='text'>
The original patch to implement basic lowering for firstprivate didn't
have the Sema work to change the name of the variable being generated
from openacc.private.init to openacc.firstprivate.init. I forgot about
that when I merged the Sema changes this morning, so the tests now
failed.  This patch fixes those up.

Additionally, Suggested on #153622 post-commit, it seems like a good idea to
use a size of APInt that matches the size-type, so this changes us to use that
instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The original patch to implement basic lowering for firstprivate didn't
have the Sema work to change the name of the variable being generated
from openacc.private.init to openacc.firstprivate.init. I forgot about
that when I merged the Sema changes this morning, so the tests now
failed.  This patch fixes those up.

Additionally, Suggested on #153622 post-commit, it seems like a good idea to
use a size of APInt that matches the size-type, so this changes us to use that
instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenACC] Implement firstprivate lowering except init. (#153847)</title>
<updated>2025-08-18T13:33:40+00:00</updated>
<author>
<name>Erich Keane</name>
<email>ekeane@nvidia.com</email>
</author>
<published>2025-08-18T13:33:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=340fa3e1bb723de53e9074f50aed13eb15820b47'/>
<id>340fa3e1bb723de53e9074f50aed13eb15820b47</id>
<content type='text'>
This patch implements the basic lowering infrastructure, but does not
quite implement the copy initialization, which requires #153622.

It does however pass verification for the 'copy' section, which just
contains a yield.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the basic lowering infrastructure, but does not
quite implement the copy initialization, which requires #153622.

It does however pass verification for the 'copy' section, which just
contains a yield.</pre>
</div>
</content>
</entry>
</feed>
