[Bug ipa/63533] New: Function splitter causes unnecessary splits
y.gribov at samsung dot com
gcc-bugzilla@gcc.gnu.org
Tue Oct 14 11:31:00 GMT 2014
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).
More information about the Gcc-bugs
mailing list