<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/lib/CodeGen/CGExprScalar.cpp, branch users/koachan/spr/main.sparcias-enable-parseforallfeatures-in-matchoperandparserimpl</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>Reland [clang][Sema, Lex, Parse] Preprocessor embed in C and C++ (#95802)</title>
<updated>2024-06-20T12:38:46+00:00</updated>
<author>
<name>Mariya Podchishchaeva</name>
<email>mariya.podchishchaeva@intel.com</email>
</author>
<published>2024-06-20T12:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=41c6e4379204ffc00948edd33d59ba5ebbceaba2'/>
<id>41c6e4379204ffc00948edd33d59ba5ebbceaba2</id>
<content type='text'>
This commit implements the entirety of the now-accepted [N3017
-Preprocessor
Embed](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3017.htm) and
its sister C++ paper [p1967](https://wg21.link/p1967). It implements
everything in the specification, and includes an implementation that
drastically improves the time it takes to embed data in specific
scenarios (the initialization of character type arrays). The mechanisms
used to do this are used under the "as-if" rule, and in general when the
system cannot detect it is initializing an array object in a variable
declaration, will generate EmbedExpr AST node which will be expanded by
AST consumers (CodeGen or constant expression evaluators) or expand
embed directive as a comma expression.

This reverts commit
https://github.com/llvm/llvm-project/commit/682d461d5a231cee54d65910e6341769419a67d7.

---------

Co-authored-by: The Phantom Derpstorm &lt;phdofthehouse@gmail.com&gt;
Co-authored-by: Aaron Ballman &lt;aaron@aaronballman.com&gt;
Co-authored-by: cor3ntin &lt;corentinjabot@gmail.com&gt;
Co-authored-by: H. Vetinari &lt;h.vetinari@gmx.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements the entirety of the now-accepted [N3017
-Preprocessor
Embed](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3017.htm) and
its sister C++ paper [p1967](https://wg21.link/p1967). It implements
everything in the specification, and includes an implementation that
drastically improves the time it takes to embed data in specific
scenarios (the initialization of character type arrays). The mechanisms
used to do this are used under the "as-if" rule, and in general when the
system cannot detect it is initializing an array object in a variable
declaration, will generate EmbedExpr AST node which will be expanded by
AST consumers (CodeGen or constant expression evaluators) or expand
embed directive as a comma expression.

This reverts commit
https://github.com/llvm/llvm-project/commit/682d461d5a231cee54d65910e6341769419a67d7.

---------

Co-authored-by: The Phantom Derpstorm &lt;phdofthehouse@gmail.com&gt;
Co-authored-by: Aaron Ballman &lt;aaron@aaronballman.com&gt;
Co-authored-by: cor3ntin &lt;corentinjabot@gmail.com&gt;
Co-authored-by: H. Vetinari &lt;h.vetinari@gmx.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][CodeGen] Return RValue from `EmitVAArg` (#94635)</title>
<updated>2024-06-17T11:29:20+00:00</updated>
<author>
<name>Mariya Podchishchaeva</name>
<email>mariya.podchishchaeva@intel.com</email>
</author>
<published>2024-06-17T11:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6d973b4548e281d0b8e75e85833804bb45b6a0e8'/>
<id>6d973b4548e281d0b8e75e85833804bb45b6a0e8</id>
<content type='text'>
This should simplify handling of resulting value by the callers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should simplify handling of resulting value by the callers.</pre>
</div>
</content>
</entry>
<entry>
<title>(New) Add option to generate additional debug info for expression dereferencing pointer to pointers (#95298)</title>
<updated>2024-06-15T04:02:45+00:00</updated>
<author>
<name>William Junda Huang</name>
<email>williamjhuang@google.com</email>
</author>
<published>2024-06-15T04:02:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=675d8d629dbdc794a78d885511eacbabc7929f8a'/>
<id>675d8d629dbdc794a78d885511eacbabc7929f8a</id>
<content type='text'>
This is a different implementation to #94100, which has been reverted.

When -fdebug-info-for-profiling is specified, for any Load expression if
the pointer operand is not a declared variable, clang will emit debug
info describing the type of the pointer operand (which can be an
intermediate expr)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a different implementation to #94100, which has been reverted.

When -fdebug-info-for-profiling is specified, for any Load expression if
the pointer operand is not a declared variable, clang will emit debug
info describing the type of the pointer operand (which can be an
intermediate expr)</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "✨ [Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy)" (#95299)</title>
<updated>2024-06-12T20:14:26+00:00</updated>
<author>
<name>Vitaly Buka</name>
<email>vitalybuka@google.com</email>
</author>
<published>2024-06-12T20:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=682d461d5a231cee54d65910e6341769419a67d7'/>
<id>682d461d5a231cee54d65910e6341769419a67d7</id>
<content type='text'>
Reverts llvm/llvm-project#68620

Introduce or expose a memory leak and UB, see llvm/llvm-project#68620</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#68620

Introduce or expose a memory leak and UB, see llvm/llvm-project#68620</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][Sema, Lex, Parse] Preprocessor embed in C and C++ (and Obj-C and Obj-C++ by-proxy) (#68620)</title>
<updated>2024-06-12T07:16:02+00:00</updated>
<author>
<name>The Phantom Derpstorm</name>
<email>phdofthehouse@gmail.com</email>
</author>
<published>2024-06-12T07:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5989450e0061dce8cff89d8acfdd5225c14cd065'/>
<id>5989450e0061dce8cff89d8acfdd5225c14cd065</id>
<content type='text'>
This commit implements the entirety of the now-accepted [N3017 -
Preprocessor
Embed](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3017.htm) and
its sister C++ paper [p1967](https://wg21.link/p1967). It implements
everything in the specification, and includes an implementation that
drastically improves the time it takes to embed data in specific
scenarios (the initialization of character type arrays). The mechanisms
used to do this are used under the "as-if" rule, and in general when the
system cannot detect it is initializing an array object in a variable
declaration, will generate EmbedExpr AST node which will be expanded
by AST consumers (CodeGen or constant expression evaluators) or
expand embed directive as a comma expression.

---------

Co-authored-by: Aaron Ballman &lt;aaron@aaronballman.com&gt;
Co-authored-by: cor3ntin &lt;corentinjabot@gmail.com&gt;
Co-authored-by: H. Vetinari &lt;h.vetinari@gmx.com&gt;
Co-authored-by: Podchishchaeva, Mariya &lt;mariya.podchishchaeva@intel.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit implements the entirety of the now-accepted [N3017 -
Preprocessor
Embed](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3017.htm) and
its sister C++ paper [p1967](https://wg21.link/p1967). It implements
everything in the specification, and includes an implementation that
drastically improves the time it takes to embed data in specific
scenarios (the initialization of character type arrays). The mechanisms
used to do this are used under the "as-if" rule, and in general when the
system cannot detect it is initializing an array object in a variable
declaration, will generate EmbedExpr AST node which will be expanded
by AST consumers (CodeGen or constant expression evaluators) or
expand embed directive as a comma expression.

---------

Co-authored-by: Aaron Ballman &lt;aaron@aaronballman.com&gt;
Co-authored-by: cor3ntin &lt;corentinjabot@gmail.com&gt;
Co-authored-by: H. Vetinari &lt;h.vetinari@gmx.com&gt;
Co-authored-by: Podchishchaeva, Mariya &lt;mariya.podchishchaeva@intel.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Add option to generate additional debug info for expression dereferencing pointer to pointers. #94100" (#95174)</title>
<updated>2024-06-11T21:33:20+00:00</updated>
<author>
<name>William Junda Huang</name>
<email>williamjhuang@google.com</email>
</author>
<published>2024-06-11T21:33:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3fce14569fc3611eddca41db055143285244736a'/>
<id>3fce14569fc3611eddca41db055143285244736a</id>
<content type='text'>
The option is causing the binary output to be different when compiled
under `-O0`, because it introduce dbg.declare on pseudovariables. Going
to change this implementation to use dbg.value instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The option is causing the binary output to be different when compiled
under `-O0`, because it introduce dbg.declare on pseudovariables. Going
to change this implementation to use dbg.value instead.</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to generate additional debug info for expression dereferencing pointer to pointers.  (#94100)</title>
<updated>2024-06-03T20:42:24+00:00</updated>
<author>
<name>William Junda Huang</name>
<email>williamjhuang@google.com</email>
</author>
<published>2024-06-03T20:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5cb00785aa56d4acc97b083df5305d2959f6bd4a'/>
<id>5cb00785aa56d4acc97b083df5305d2959f6bd4a</id>
<content type='text'>
This is another attempt to land #81545, which was reverted. 

Fixed test case by adding a target triple so that clang generates the same IR for all platforms</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is another attempt to land #81545, which was reverted. 

Fixed test case by adding a target triple so that clang generates the same IR for all platforms</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Add option to generate additional debug info for expression dereferencing pointer to pointers. (#81545)"</title>
<updated>2024-05-30T04:56:59+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-05-30T04:55:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d4a45d98275e669bda40410f064891beb3480ce'/>
<id>7d4a45d98275e669bda40410f064891beb3480ce</id>
<content type='text'>
This reverts commit aeccfee348c717165541d8d895b9b0cdfe31415c, and dependents:

Revert "[NFC] Fix PPC buildbot failure https://lab.llvm.org/buildbot/#/builders/230/builds/29066"
This reverts commit 2b1d1c51f6e321267cc86e9db7808298c59caf0e.

Revert "Fix test - remove unnecessary/incorrect `-S`, in favor of `-emit-llvm`"
This reverts commit ea1ecb50fa831583241fc531153bd2c072955d29.

The test is failing on MacOs and Windows
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit aeccfee348c717165541d8d895b9b0cdfe31415c, and dependents:

Revert "[NFC] Fix PPC buildbot failure https://lab.llvm.org/buildbot/#/builders/230/builds/29066"
This reverts commit 2b1d1c51f6e321267cc86e9db7808298c59caf0e.

Revert "Fix test - remove unnecessary/incorrect `-S`, in favor of `-emit-llvm`"
This reverts commit ea1ecb50fa831583241fc531153bd2c072955d29.

The test is failing on MacOs and Windows
</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to generate additional debug info for expression dereferencing pointer to pointers. (#81545)</title>
<updated>2024-05-29T22:04:11+00:00</updated>
<author>
<name>William Junda Huang</name>
<email>williamjhuang@google.com</email>
</author>
<published>2024-05-29T22:04:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aeccfee348c717165541d8d895b9b0cdfe31415c'/>
<id>aeccfee348c717165541d8d895b9b0cdfe31415c</id>
<content type='text'>
Such expression does not correspond to a variable in the source code
thus does not have a debug location. When the user collects perf data on
the program, if the intermediate memory load instruction is sampled, it
could not be attributed to any variable/class member, which causes the
sampling results to be under-counted.
This patch adds an option `-fdebug_info_for_pointer_type` to generate a
psuedo variable and its debug info for intermediate expression with
pointer dereferencing, so that perf data collected on the instruction of
that expression can be attributed to the correct class member.

This is a prototype so comments are needed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Such expression does not correspond to a variable in the source code
thus does not have a debug location. When the user collects perf data on
the program, if the intermediate memory load instruction is sampled, it
could not be attributed to any variable/class member, which causes the
sampling results to be under-counted.
This patch adds an option `-fdebug_info_for_pointer_type` to generate a
psuedo variable and its debug info for intermediate expression with
pointer dereferencing, so that perf data collected on the instruction of
that expression can be attributed to the correct class member.

This is a prototype so comments are needed.</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)</title>
<updated>2024-05-20T17:23:04+00:00</updated>
<author>
<name>Ahmed Bougacha</name>
<email>ahmed@bougacha.org</email>
</author>
<published>2024-05-20T17:23:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3575d23ca866e0510b322e4520d6cbcebee18c22'/>
<id>3575d23ca866e0510b322e4520d6cbcebee18c22</id>
<content type='text'>
This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.</pre>
</div>
</content>
</entry>
</feed>
