Re: [PATCH] D22782: Added 'inline' attribute to __init to inline the basic_string's constructor

2016-07-25 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D22782#495436, @mclow.lists wrote: > Do we have a test for the problem that this is solving? I think we can write a testcase that shows that copy constructors are not optimized away unless the string constructor is inlined. This patch fixes

[libcxx] r278356 - Add 'inline' attribute to __init to inline the basic_string's constructor

2016-08-11 Thread Sebastian Pop via cfe-commits
Author: spop Date: Thu Aug 11 11:51:48 2016 New Revision: 278356 URL: http://llvm.org/viewvc/llvm-project?rev=278356=rev Log: Add 'inline' attribute to __init to inline the basic_string's constructor basic_string's constructor calls init which was not getting inlined. This prevented

Re: [PATCH] D22782: Added 'inline' attribute to __init to inline the basic_string's constructor

2016-08-11 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D22782#512337, @EricWF wrote: > I would love to see a benchmark with this, but I've done enough investigating > on my own that I *know* this patch is beneficial. This patch was motivated by perf analysis we did on a proprietary benchmark in

Re: [PATCH] D22782: Added 'inline' attribute to __init to inline the basic_string's constructor

2016-08-11 Thread Sebastian Pop via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL278356: Add 'inline' attribute to __init to inline the basic_string's constructor (authored by spop). Changed prior to commit: https://reviews.llvm.org/D22782?vs=67597=67699#toc Repository: rL LLVM

Re: [PATCH] D23855: Make exception-throwing from a noexcept build `abort()`.

2016-08-24 Thread Sebastian Pop via cfe-commits
sebpop added a comment. I like the patch. Thanks for removing #ifdefs from the code: it improves readability in general. Would it be possible to move the __throw_* functions in a same .h file to avoid having them all over? Comment at: include/array:212 @@ -214,3 +211,3 @@

Re: [PATCH] D23855: Make exception-throwing from a noexcept build `abort()`.

2016-08-25 Thread Sebastian Pop via cfe-commits
sebpop accepted this revision. sebpop added a comment. This revision is now accepted and ready to land. Very nice cleanup. Maybe you can move some more #ifdefs into __throw_* functions, although as is LGTM. Thanks! https://reviews.llvm.org/D23855

Re: [PATCH] D24097: Add testcases for PR30188

2016-09-01 Thread Sebastian Pop via cfe-commits
sebpop abandoned this revision. sebpop added a comment. Agreed, this is a test for llvm/opt. I will submit another patch. https://reviews.llvm.org/D24097 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D24097: Add testcases for PR30188

2016-08-31 Thread Sebastian Pop via cfe-commits
sebpop created this revision. sebpop added reviewers: jmolloy, danielcdh, davidxl, mkuper, dberlin. sebpop added subscribers: llvm-commits, cfe-commits. Add testcases to clang test/ to make sure that the combined middle-end optimizations do not regress on optimizing the number of loads in the

Re: [PATCH] D24682: [PR30341] Alias must point to a definition

2016-09-16 Thread Sebastian Pop via cfe-commits
sebpop added inline comments. Comment at: clang/lib/CodeGen/CGCXX.cpp:137 @@ -136,1 +136,3 @@ + // r254170: Disallow aliases to available_externally. + if (TargetLinkage == llvm::GlobalValue::AvailableExternallyLinkage) Please remove the reference to r254170.

Re: [PATCH] D24682: [PR30341] Alias must point to a definition

2016-09-19 Thread Sebastian Pop via cfe-commits
sebpop added a comment. The change looks good to me. Somebody else should approve. https://reviews.llvm.org/D24682 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D24481: make “#pragma STDC FP_CONTRACT” on by default

2016-09-23 Thread Sebastian Pop via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL282259: set the underlying value of “#pragma STDC FP_CONTRACT” on by default (authored by spop). Changed prior to commit: https://reviews.llvm.org/D24481?vs=72186=72299#toc Repository: rL LLVM

Re: [PATCH] D24682: [PR30341] Alias must point to a definition

2016-09-28 Thread Sebastian Pop via cfe-commits
sebpop added inline comments. Comment at: clang/lib/CodeGen/CGCXX.cpp:140-142 @@ +139,5 @@ + // FIXME: An extern template instantiation will create functions with + // linkage "AvailableExternally". In libc++, some classes also define + // members with attribute "AlwaysInline"

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-26 Thread Sebastian Pop via cfe-commits
sebpop marked 2 inline comments as done. sebpop added inline comments. Comment at: libcxx/include/memory:3802 +{ + return __libcpp_atomic_add(, 1, _AO_Relaxed); +} EricWF wrote: > Why add `increment` and `decrement` at all? Just manually inline >

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-26 Thread Sebastian Pop via cfe-commits
sebpop removed rL LLVM as the repository for this revision. sebpop updated this revision to Diff 75908. sebpop added a comment. The patch also implements the idea that Marshall proposed in: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20161010/173780.html > I have an idea; it involves

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-11-08 Thread Sebastian Pop via cfe-commits
sebpop added a comment. @mclow.lists, @EricWF, ok to commit the patch? Thanks, Sebastian https://reviews.llvm.org/D24991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25624: Added 'inline' attribute to basic_string's destructor

2016-10-14 Thread Sebastian Pop via cfe-commits
sebpop accepted this revision. sebpop added a reviewer: sebpop. sebpop added a comment. This revision is now accepted and ready to land. This got approved in the past review. Let's commit it now that the clang bug was fixed. Thanks Aditya for keeping track of this.

[PATCH] D25624: Added 'inline' attribute to basic_string's destructor

2016-10-14 Thread Sebastian Pop via cfe-commits
sebpop added a comment. If I remember correctly, we pushed the fix after 3.9 was released. Could you please explain the problem of requiring trunk LLVM to build trunk libcxx? https://reviews.llvm.org/D25624 ___ cfe-commits mailing list

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-20 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D24991#571056, @hiraditya wrote: > Marshall suggests using macro as we discussed offline. For some reason the > reply does not appear here: > http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20161010/173780.html Ping. Repository:

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-11-02 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D24991#583877, @kubabrecka wrote: > Just a question: TSan intercepts on the dylib functions, namely > `__release_shared`, to track the atomic accesses. Can you make sure this > doesn't break? There's a few testcases for this in

[PATCH] D25624: Added 'inline' attribute to basic_string's destructor

2016-10-27 Thread Sebastian Pop via cfe-commits
sebpop added inline comments. Comment at: libcxx/include/string:1841 template +inline _LIBCPP_HEADER_INLINE_VISIBILITY basic_string<_CharT, _Traits, _Allocator>::~basic_string() and let's also use the define just here: #ifndef _LIBCPP_BUILDING_STRING

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-31 Thread Sebastian Pop via cfe-commits
sebpop added a comment. Ping: Eric, Marshall, could you please approve or comment on this patch? Thanks! https://reviews.llvm.org/D24991 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D25624: Added 'inline' attribute to basic_string's destructor

2016-10-28 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D25624#582731, @mehdi_amini wrote: > I don't understand: > > 1. The motivation for this change This is a change for performance: we have seen some benchmarks where inlining the string dtor brings performance up by 5%: from what I remember,

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-13 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D24991#565861, @EricWF wrote: > In https://reviews.llvm.org/D24991#565715, @mclow.lists wrote: > > > How does this play with existing binaries? Applications that expect these > > functions to exist in the dylib? > > > This patch is majorly

[libcxx] r284179 - remove warnings from google-benchmarks in libcxx

2016-10-13 Thread Sebastian Pop via cfe-commits
Author: spop Date: Thu Oct 13 19:07:57 2016 New Revision: 284179 URL: http://llvm.org/viewvc/llvm-project?rev=284179=rev Log: remove warnings from google-benchmarks in libcxx Differential Revision: https://reviews.llvm.org/D25522 Patch written by Aditya Kumar. Modified:

[PATCH] D24991: Inline hot functions in libcxx shared_ptr implementation.

2016-10-10 Thread Sebastian Pop via cfe-commits
sebpop added a comment. In https://reviews.llvm.org/D24991#565861, @EricWF wrote: > Please provide benchmark tests which demonstrate that these benefits are > concrete and not just "potential". Moving methods out of the dylib is no > easy task so I would like hard evidence that it's worth

[libcxx] r290761 - improve performance of string::find

2016-12-30 Thread Sebastian Pop via cfe-commits
Author: spop Date: Fri Dec 30 12:01:36 2016 New Revision: 290761 URL: http://llvm.org/viewvc/llvm-project?rev=290761=rev Log: improve performance of string::find string::find used to call the generic algorithm ::find. The patch special case string::find such that it ultimately gets converted to