please consider .einline2 and .optimized trees for the
boost::thread::start_thread() function from attached testcase.
the 4.3 optimize boost::shared_ptr<>::operator= pretty nice.
the 4.5 avoid operator= inlining.
moreover, the 4.5 code is bigger (152bytes vs 106bytes)
and contains more atomic operations due to temporary shared_ptr
swapping and assignments.
the testcase is big and horrible but the 'pretty 4.3 inlining'
dissapears during testcase reducing :/
--
Summary: missed inline optimization for
boost::shared_ptr::operator =
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC build triplet: x86_64-gnu-linux
GCC host triplet: x86_64-gnu-linux
GCC target triplet: x86_64-gnu-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43816