[PATCH][LTO] Move canonical type stuff out-of-GC land

Tobias Burnus burnus@net-b.de
Mon Oct 14 18:06:00 GMT 2013


Richard Biener wrote:
> This replaces the tree -> int hashtable caching hash values by
> a pointer_map <hashval_t> and moves it out-of-GC.  Likewise
> it moves the actual type hashtable out-of-GC.
>
> LTO bootstrapped and tested on x86_64-unknown-linux-gnu, applied.


I think it's due to this patch that bootstrapping into an empty 
directory fails during Stage 1 for me with the following message.

Tobias

g++ -c  -DIN_GCC_FRONTEND -g -DIN_GCC   -fno-exceptions -fno-rtti 
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long 
-Wno-variadic-macros -Wno-overlength-strings -fno-common 
-DHAVE_CONFIG_H -I. -Ilto -I../../gcc -I../../gcc/lto 
-I../../gcc/../include -I../../gcc/../libcpp/include 
-I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/bid 
-I../libdecnumber -I../../gcc/../libbacktrace -DCLOOG_INT_GMP    -o 
lto/lto.o -MT lto/lto.o -MMD -MP -MF lto/.deps/lto.TPo ../../gcc/lto/lto.c
In file included from ../../gcc/lto/lto.c:3258:0:
./gt-lto-lto.h:153:6: error: 'type_hash_cache' was not declared in this 
scope
      &type_hash_cache,
       ^
./gt-lto-lto.h:155:13: error: 'type_hash_cache' was not declared in this 
scope
      sizeof (type_hash_cache),
              ^
./gt-lto-lto.h:161:6: error: 'gimple_types' was not declared in this scope
      &gimple_types,
       ^
./gt-lto-lto.h:163:13: error: 'gimple_types' was not declared in this scope
      sizeof (gimple_types),
              ^
./gt-lto-lto.h:173:6: error: 'type_hash_cache' was not declared in this 
scope
      &type_hash_cache,
       ^
./gt-lto-lto.h:175:13: error: 'type_hash_cache' was not declared in this 
scope
      sizeof (type_hash_cache),
              ^
./gt-lto-lto.h:180:6: error: 'gimple_types' was not declared in this scope
      &gimple_types,
       ^
./gt-lto-lto.h:182:13: error: 'gimple_types' was not declared in this scope
      sizeof (gimple_types),
              ^
make[3]: *** [lto/lto.o] Error 1


> 2013-10-14  Richard Biener  <rguenther@suse.de>
>
> 	lto/
> 	* lto.c (gimple_canonical_types): Move out-of GC space.
> 	(canonical_type_hash_cache): Make a pointer-map.
> 	(num_canonical_type_hash_entries, num_canonical_type_hash_queries):
> 	New counters.
> 	(iterative_hash_canonical_type): Adjust.
> 	(read_cgraph_and_symbols): Likewise.
> 	(print_lto_report_1): Likewise.



More information about the Gcc-patches mailing list