This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ipa/63533] New: Function splitter causes unnecessary splits


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63533

            Bug ID: 63533
           Summary: Function splitter causes unnecessary splits
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: y.gribov at samsung dot com
                CC: hubicka at gcc dot gnu.org, khlebnikov at openvz dot org,
                    ryabinin.a.a at gmail dot com

Created attachment 33712
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33712&action=edit
Short repro

The attached reprocase contains an innocent function which can not ever benefit
from inlining. But fnsplit pass still jumps on it and splits it to two
functions thus hurting performance and code size:
 gcc -O2 -fconserve-stack -S repro.i -o-
 ...g.part.0:
 ...
 g:
 ...
     call    g.part.0
This can not be recovered later by inliner because of -fconserve-stack option.
The reprocase is a reduced version of a real-world code (from Linux kernel).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]