<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in block-helpers.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>532dc62b - [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#532dc62b</link>
        <description>[OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC)This adds -no-opaque-pointers to clang tests whose output willchange when opaque pointers are enabled by default. This isintended to be part of the migration approach described inhttps://discourse.llvm.org/t/enabling-opaque-pointers-by-default/61322/9.The patch has been produced by replacing %clang_cc1 with%clang_cc1 -no-opaque-pointers for tests that fail with opaquepointers enabled. Worth noting that this doesn&apos;t cover all tests,there&apos;s a remaining ~40 tests not using %clang_cc1 that will needa followup change.Differential Revision: https://reviews.llvm.org/D123115

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Thu, 07 Apr 2022 10:03:55 +0000</pubDate>
        <dc:creator>Nikita Popov &lt;npopov@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>8e57b07f - Distinguish `__block` variables that are captured by escaping blocks</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#8e57b07f</link>
        <description>Distinguish `__block` variables that are captured by escaping blocksfrom those that aren&apos;t.This patch changes the way __block variables that aren&apos;t captured byescaping blocks are handled:- Since non-escaping blocks on the stack never get copied to the heap  (see https://reviews.llvm.org/D49303), Sema shouldn&apos;t error out when  the type of a non-escaping __block variable doesn&apos;t have an accessible  copy constructor.- IRGen doesn&apos;t have to use the specialized byref structure (see  https://clang.llvm.org/docs/Block-ABI-Apple.html#id8) for a  non-escaping __block variable anymore. Instead IRGen can emit the  variable as a normal variable and copy the reference to the block  literal. Byref copy/dispose helpers aren&apos;t needed either.This reapplies r343518 after fixing a use-after-free bug in functionSema::ActOnBlockStmtExpr where the BlockScopeInfo was dereferenced afterit was popped and deleted.rdar://problem/39352313Differential Revision: https://reviews.llvm.org/D51564llvm-svn: 343542

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Mon, 01 Oct 2018 21:51:28 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>31974847 - Revert r343518.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#31974847</link>
        <description>Revert r343518.Bots are still failing.http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/24420http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/12958llvm-svn: 343531

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Mon, 01 Oct 2018 20:29:34 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>2bf09ccf - Distinguish `__block` variables that are captured by escaping blocks</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#2bf09ccf</link>
        <description>Distinguish `__block` variables that are captured by escaping blocksfrom those that aren&apos;t.This patch changes the way __block variables that aren&apos;t captured byescaping blocks are handled:- Since non-escaping blocks on the stack never get copied to the heap  (see https://reviews.llvm.org/D49303), Sema shouldn&apos;t error out when  the type of a non-escaping __block variable doesn&apos;t have an accessible  copy constructor.- IRGen doesn&apos;t have to use the specialized byref structure (see  https://clang.llvm.org/docs/Block-ABI-Apple.html#id8) for a  non-escaping __block variable anymore. Instead IRGen can emit the  variable as a normal variable and copy the reference to the block  literal. Byref copy/dispose helpers aren&apos;t needed either.This reapplies r341754, which was reverted in r341757 because it broke acouple of bots. r341754 was calling markEscapingByrefs after the call toPopFunctionScopeInfo, which caused the popped function scope to becleared out when the following code was compiled, for example:$ cat test.mstruct A {  id data[10];};void foo() {  __block A v;  ^{ (void)v; };}This commit calls markEscapingByrefs before calling PopFunctionScopeInfoto prevent that from happening.rdar://problem/39352313Differential Revision: https://reviews.llvm.org/D51564llvm-svn: 343518

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Mon, 01 Oct 2018 18:50:14 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9bd24527 - Revert r341754.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#9bd24527</link>
        <description>Revert r341754.The commit broke a couple of bots:http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/12347http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/7310llvm-svn: 341757

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Sun, 09 Sep 2018 05:22:49 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>2e00b980 - Distinguish `__block` variables that are captured by escaping blocks</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#2e00b980</link>
        <description>Distinguish `__block` variables that are captured by escaping blocksfrom those that aren&apos;t.This patch changes the way __block variables that aren&apos;t captured byescaping blocks are handled:- Since non-escaping blocks on the stack never get copied to the heap  (see https://reviews.llvm.org/D49303), Sema shouldn&apos;t error out when  the type of a non-escaping __block variable doesn&apos;t have an accessible  copy constructor.- IRGen doesn&apos;t have to use the specialized byref structure (see  https://clang.llvm.org/docs/Block-ABI-Apple.html#id8) for a  non-escaping __block variable anymore. Instead IRGen can emit the  variable as a normal variable and copy the reference to the block  literal. Byref copy/dispose helpers aren&apos;t needed either.rdar://problem/39352313Differential Revision: https://reviews.llvm.org/D51564llvm-svn: 341754

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Sat, 08 Sep 2018 20:03:00 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9978da36 - [CodeGen] Merge equivalent block copy/helper functions.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp#9978da36</link>
        <description>[CodeGen] Merge equivalent block copy/helper functions.Clang generates copy and dispose helper functions for each block literalon the stack. Often these functions are equivalent for different blocks.This commit makes changes to merge equivalent copy and dispose helperfunctions and reduce code size.To enable merging equivalent copy/dispose functions, the captured objectinfomation is encoded into the helper function name. This allows IRGento check whether an equivalent helper function has already been emittedand reuse the function instead of generating a new helper functionwhenever a block is defined. In addition, the helper functions aremarked as linkonce_odr to enable merging helper functions that have thesame name across translation units and marked as unnamed_addr to enablethe linker&apos;s deduplication pass to merge functions that have differentnames but the same content.rdar://problem/42640608Differential Revision: https://reviews.llvm.org/D50152llvm-svn: 339438

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/block-helpers.cpp</description>
        <pubDate>Fri, 10 Aug 2018 15:09:24 +0000</pubDate>
        <dc:creator>Akira Hatanaka &lt;ahatanaka@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
