This is the mail archive of the gcc@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]

attribute((leafify)) for 3.4


Hi!

I tried to move attribute((leafify)) from 3.3 to 3.4 (see attached patch).
I do this by marking nodes in the callgraph down from leafify functions as
disregarding their inlining limits (which results in them being treated as
always_inline functions). Unfortunately this doesnt really inline all of
the callees of a leaf function as the patch for 3.3 does.

Still this patch improves performance of generated code by 25% (compared
to the 3.4 value without leafify, 3.3 with leafify improves by 45%).

Any ideas how to improve the patch? Especially how to reduce "false"
forced inlining of nodes into non-leafify functions? I know we're in stage
3, so adding a new attribute is out of question, but I really like to have
this feature locally, and preferrably as good as the 3.3 version.

Thanks for suggestions,

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/

Attachment: leafify-3.4-5
Description: leafify patch for 3.4


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