On 08/19/2013 10:01 AM, Jan Hubicka wrote:
+ /* All equivalent types, if more than one. */
+ vectree, va_gc *types;
+ /* Set of all equivalent types, if NON-NULL. */
+ pointer_set_t * GTY((skip)) types_set;
Why do you need both a vector and a pointer set? Can't you drop the
vector
On 08/19/2013 10:01 AM, Jan Hubicka wrote:
+ /* All equivalent types, if more than one. */
+ vectree, va_gc *types;
+ /* Set of all equivalent types, if NON-NULL. */
+ pointer_set_t * GTY((skip)) types_set;
Why do you need both a vector and a pointer set? Can't you drop the
Richard, Jason,
I would apprechiate your opinion on this patch. It blocks all the code that
makes
use of ipa-devirt post LTO streaming.
The main part that I would like to know your opinion on is the ODR rule
implementation
by vtable comparsion (it looks obvious but I got it wrong once already)
Hi,
On Mon, Aug 19, 2013 at 04:01:16PM +0200, Jan Hubicka wrote:
[...]
* Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h
* ipa-devirt.c: Include diganostic.h
(odr_type_d): Add types and types_set.
(hash_type_name): Work for types with vtables during LTO.
Hi,
On Mon, Aug 19, 2013 at 04:01:16PM +0200, Jan Hubicka wrote:
[...]
* Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h
* ipa-devirt.c: Include diganostic.h
(odr_type_d): Add types and types_set.
(hash_type_name): Work for types with vtables during
Hi,
this patch makes inheritance graph builder to work on LTO. Nothing but
ODR violation warnings and dump file is produced, yet.
The main change is to make types_same_for_odr and ODR hasher to use
assembler name of virtual tables of the type (if present) to establish type
equality. This is