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

Refine rules for function versioning


This is a small merge from the trans-mem branch, where I want to allow more functions to be versioned. Merging this now means those rules get tested with the ipa-cp routines on mainline, which should lead to less breakage when merging the branch.

At present, function versioning is using exactly the same rules as for function inlining, even though quite a number of those rules don't really make sense as versioning rules -- such as calls to alloca or setjmp.

This patch splits out the rules that apply only to the copying of code and uses that as a common base for both inlining and versioning. Further, rules that apply only to ipcp's algorithms are pushed into a new function specific to ipcp.

Finally, it fixes one bug that is exposed by ipcp now versioning a function that contains nested functions.

Tested on x86-64 with ada.


r~

Attachment: d-versioning
Description: Text document


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