On Wed, 2 Nov 2016, Jakub Jelinek wrote: > On Wed, Nov 02, 2016 at 10:34:15AM +0100, Richard Biener wrote: > > Ok, just looking at regex.c (I happen to have regex.i around) shows > > the first hit as > > > > #2 0x00000000008d9914 in true_dependence_1 (mem=0x7ffff61ef360, > > mem_mode=DImode, mem_addr=0x7ffff6220cf0, x=0x7ffff6605060, > > x_addr=0x7ffff662ffd8, mem_canonicalized=true) > > at /space/rguenther/src/svn/trunk/gcc/alias.c:2928 > > 2928 if (nonoverlapping_memrefs_p (mem, x, false)) > > (gdb) p debug_tree (expry) > > <function_decl 0x7ffff6941f00 __builtin_malloc > > type <function_type 0x7ffff68b0dc8 > > > > 2928 if (nonoverlapping_memrefs_p (mem, x, false)) > > (gdb) p debug_rtx (mem) > > (mem/f/c:DI (plus:DI (reg/f:DI 7 sp) > > (const_int 200 [0xc8])) [5 p+0 S8 A64]) > > $4 = void > > (gdb) p debug_rtx (x) > > (mem:QI (symbol_ref:DI ("malloc") [flags 0x41] <function_decl > > 0x7ffff6943000 malloc>) [0 __builtin_malloc S1 A8]) > > $5 = void > > > > called from DSE check_mem_read_rtx. I believe that's a bogus query. > > I guess I should also log debug_rtx (DECL_RTL (expr{x,y})) in those cases > then and perhaps also if we ever return non-zero in those cases.
Yeah, plus if a followup test would have disambiguated things (the dispatch to the tree oracle for example). > > (I see only a single hit on regex.c, your log seems to have multiple > > ones...) > > That was statistics gathered across x86_64-linux and i686-linux simultaneous > bootstraps + regtests (and most likely I've mistyped the first value > from (int) BITS_PER_WORD to (int) BITS_PER_UNIT :( ). So regex.c is built > there many times (3 times each bootstrap at least). Ah, ok. At least 12 times for x86_64 with multilibs (we build PIC and non-PIC variants IIRC). Richard.