[PATCH, PR 45934 0/5] Devirtualization aware of dynamic type changes
Martin Jambor
mjambor@suse.cz
Wed Dec 15 17:09:00 GMT 2010
Hi,
I re-send the whole series of patches aiming to resolve the
dynamic-type-change devirtualization issues so that they are grouped
together, especially because there is a new patch introducing a
command line switch to switch devirtualization on and off. Other
wise, the patches are new versions of those posted previosuly which
can be found as followups to
http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00085.html
The division into patches is as follows:
1. Disabling devirtualization in folding and that based on global
variables which do not work because of dynamic type changes.
2. Detecting dynamic type changes of objects with virtual methods and
disabling devirtualization upon their encounter.
3. Identifying the new dynamic type of an object after such change
when we can do so and using it to drive devirtualization instead of
disabling it.
4. A new command line switch to control devirtualization.
5. Intraprocedural BINFO-based devirtualization. Necessary to perform
devirtualization when there is no IPA transfer of information
involved.
More details about individual steps are in the corresponding email
messages.
Thanks for all feedback, including that I have already received as
comments to the previous version of this patch,
Martin
More information about the Gcc-patches
mailing list