Follow-up:  We have managed to determine that we are have managed, under
some circumstances, to create GENERIC nodes whose location_t components
have a line number of -1.

Evidence suggests that your new code is sensitive to that in ways that the
code it replaced was not.

It's obviously our job not to create nodes with negative line numbers.
We're working on that.

> -----Original Message-----
> From: Robert Dubner <rdub...@symas.com>
> Sent: Saturday, July 12, 2025 14:47
> To: Jan Hubicka <hubi...@ucw.cz>; H.J. Lu <hjl.to...@gmail.com>
> Cc: Richard Biener <rguent...@suse.de>; gcc-patches@gcc.gnu.org;
> kvivekana...@nvidia.com; dhr...@nvidia.com; ja...@redhat.com; James K.
> Lowden <jklow...@cobolworx.com>
> Subject: RE: Rewrite assign_discriminators pass
> 
> Please be aware that something introduced in
> 
> 385d9937f0e - Rewrite assign_discriminators
> 
> has since caused a "make cobol-check" failure.  The backtrace generated
> during the attempt to compile
> 
> cobol.dg/group1/simple-classes.cob
> 
> looks like this
> 
> cobol1: internal compiler error: in get_or_insert, at hash-map.h:208
> 0x3959dc1 internal_error(char const*, ...)
>         ../../gcc/diagnostic-global-context.cc:517
> 0x3919b0f fancy_abort(char const*, int, char const*)
>         ../../gcc/diagnostic.cc:1818
> 0x1b3c0e9 hash_map<int_hash<long, -1l, -2l>, discrim_entry,
> simple_hashmap_traits<default_hash_traits<int_hash<long, -1l, -2l> >,
> discrim_entry> >::get_or_insert(long const&, bool*)
>         ../../gcc/hash-map.h:208
> 0x1b1bea1 assign_discriminator(unsigned long, unsigned int,
> hash_map<int_hash<long, -1l, -2l>, discrim_entry,
> simple_hashmap_traits<default_hash_traits<int_hash<long, -1l, -2l> >,
> discrim_entry> >&)
>         ../../gcc/tree-cfg.cc:1101
> 0x1b1c047 assign_discriminators
>         ../../gcc/tree-cfg.cc:1145
> 0x1b19ba9 build_gimple_cfg
>         ../../gcc/tree-cfg.cc:213
> 0x1b1a239 execute_build_cfg
>         ../../gcc/tree-cfg.cc:332
> 0x1b1a328 execute
>         ../../gcc/tree-cfg.cc:373
> Please submit a full bug report, with preprocessed source (by using
> -freport-bug).
> 
> I am not fully following this discussion, but I figured I should let you
> know.
> 
> 
> 
> 
> > -----Original Message-----
> > From: Jan Hubicka <hubi...@ucw.cz>
> > Sent: Saturday, July 12, 2025 08:08
> > To: H.J. Lu <hjl.to...@gmail.com>
> > Cc: Richard Biener <rguent...@suse.de>; gcc-patches@gcc.gnu.org;
> > kvivekana...@nvidia.com; dhr...@nvidia.com; ja...@redhat.com
> > Subject: Re: Rewrite assign_discriminators pass
> >
> > >
> > > This caused:
> > >
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121045
> >
> > I see, -compare-debug actually compares discriminators in dump of
final
> > pass.  Discriminators do not need to be the same if they are unused
> > and they are consumed only by dwaf2out and by auto-profile, so I think
> > compare-debug does not need to compare them.
> >
> > Auto-profile now has -Wauto-profile that warns about discriminator
> > divergences, sadly there are so many problems with create_gcov output
> > that at the moment this is within a noise factor (there are over a
> > million of mismatched profile warning during bootstrap).  I debugged
> > most of them, but need to dive deeper into create_gcov to fix it.
> >
> > I will patch compare-debug to ignore discriminators and disable
> > a ssign-discriminators when debug statements are not present.
> >
> > Honza
> > >
> > > --
> > > H.J.

Reply via email to