This is an archive of the discontinued LLVM Phabricator instance.

string: Remove always_inline from basic_string::__init
ClosedPublic

Authored by dexonsmith on Mar 31 2017, 7:26 PM.

Details

Summary

This is effectively a partial revert of r278356, which started inlining
basic_string::__init. Even if we want to help the compiler along with
an inlinehint, we shouldn't hamstring it by forcing it to inline all the
time.

Libc++ uses always_inline widely as a limit-the-ABI-hack, but since
__init is already on the dylib boundary, it makes no sense here and just
harms the debugging experience at -O0.

Diff Detail

Event Timeline

dexonsmith created this revision.Mar 31 2017, 7:26 PM
EricWF accepted this revision.Mar 31 2017, 7:37 PM
This revision is now accepted and ready to land.Mar 31 2017, 7:37 PM
dexonsmith closed this revision.Mar 31 2017, 8:33 PM

Committed in r299290.