43a75fcbe4b592d7bea1fe262117114bcebc003c |
|
19-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[CodeGen] Move EHScopeStack into its own header CGCleanup.h isn't meant to be included by all of CodeGen according to John. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
8a07cd3f59a0ede54906bdc8ed21724815db27ad |
|
12-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Reapply r183721, reverted in r183776, with a fix for a bug in the former (we were lacking ExprWithCleanups nodes in some cases where the new approach to lifetime extension needed them). Original commit message: Rework IR emission for lifetime-extended temporaries. Instead of trying to walk into the expression and dig out a single lifetime-extended entity and manually pull its cleanup outside the expression, instead keep a list of the cleanups which we'll need to emit when we get to the end of the full-expression. Also emit those cleanups early, as EH-only cleanups, to cover the case that the full-expression does not terminate normally. This allows IR generation to properly model temporary lifetime when multiple temporaries are extended by the same declaration. We have a pre-existing bug where an exception thrown from a temporary's destructor does not clean up lifetime-extended temporaries created in the same expression and extended to automatic storage duration; that is not fixed by this patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
a57be5617a0735a654d4c8145be1fd752f776772 |
|
11-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Revert r183721. It caused cleanups to be delayed too long in some cases. Testcase to follow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
85af7cecadbf5d4b905d6b3b4b1b6fa684183aff |
|
11-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Rework IR emission for lifetime-extended temporaries. Instead of trying to walk into the expression and dig out a single lifetime-extended entity and manually pull its cleanup outside the expression, instead keep a list of the cleanups which we'll need to emit when we get to the end of the full-expression. Also emit those cleanups early, as EH-only cleanups, to cover the case that the full-expression does not terminate normally. This allows IR generation to properly model temporary lifetime when multiple temporaries are extended by the same declaration. We have a pre-existing bug where an exception thrown from a temporary's destructor does not clean up lifetime-extended temporaries created in the same expression and extended to automatic storage duration; that is not fixed by this patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
875e739473026f71e30aa24f3a98a25ae9ac67e9 |
|
09-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[CodeGen] Make CGCleanup.h include what it now uses Also move CGCleanup.h to the top of CGCleanup.cpp to verify that CGCleanup.h really includes what it needs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
6fe91e448f948b78a36dd7f978125e0a882c623f |
|
09-Jun-2013 |
Reid Kleckner <reid@kleckner.net> |
[CodeGen] Move EHScopeStack to CGCleanup.h from CodeGenFunction.h No functionality change. CGCleanup.cpp provides the implementation for EHScopeStack, so it seems more consistent to place the class definition in CGCleanup.h. This should also help solve a header ordering problem that I have. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
2ee5ba35febf830d366b65dd0dcbf8e291c41342 |
|
16-Jun-2012 |
James Dennett <jdennett@google.com> |
Documentation cleanup: * Escaped Objective-C @keywords in Doxygen comments; * Documented more accurate \params; * Exposed some more summaries using \brief. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
777d6e56ad9b1fed9866daf3ee6486d85c5b7d32 |
|
11-Aug-2011 |
John McCall <rjmccall@apple.com> |
Simplify EH control flow by observing that EH scopes form a simple hierarchy of delegation, and that EH selector values are meaningful function-wide (good thing, too, or inlining wouldn't work). 2,3d 1a hierarchy of delegation and that EH selector values have the same meaning everywhere in the function instead of being meaningful only in the context of a specific selector. This removes the need for routing edges through EH cleanups, since a cleanup simply always branches to its enclosing scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|
36f893c1efe367f929d92c8b125f964c22ba189e |
|
28-Jan-2011 |
John McCall <rjmccall@apple.com> |
Move all the cleanups framework code into a single file. Pure motion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGCleanup.h
|