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] |
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] |