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

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

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,


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