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

Reply via email to