This is the mail archive of the
mailing list for the GCC project.
[PATCH, PR 45934 0/5] Devirtualization aware of dynamic type changes
- From: Martin Jambor <mjambor at suse dot cz>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Guenther <rguenther at suse dot de>
- Date: Wed, 15 Dec 2010 17:49:02 +0100
- Subject: [PATCH, PR 45934 0/5] Devirtualization aware of dynamic type changes
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
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
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
More details about individual steps are in the corresponding email
Thanks for all feedback, including that I have already received as
comments to the previous version of this patch,