jit: make simpler reproducers
commite0d26ea0ba294e6bb4797db82c00d38ae01d47f1
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Aug 2017 23:50:34 +0000 (18 23:50 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Aug 2017 23:50:34 +0000 (18 23:50 +0000)
treecc81ac395b2f465a9ba04bcf927d4703f1e0d7e6
parent5e0bcf280ad3e3f9e72425bd293fc2d3b331da22
jit: make simpler reproducers

The C reproducers generated by gcc_jit_context_dump_reproducer_to_file
contain numerous pointer values (from %p) to ensure uniqueness of the
identifiers, but this makes them less readable than they could be.

This patch updates reproducer::make_identifier so that the pointer
is only added if it's necessary for uniqueness.

gcc/jit/ChangeLog:
* jit-recording.c (class gcc::jit::reproducer): Rename field
"m_identifiers" to "m_map_memento_to_identifier".  Add field
"m_set_identifiers" and struct hash_traits for it.
(gcc::jit::reproducer::reproducer): Update for above.
(convert_to_identifier): New function.
(gcc::jit::reproducer::ensure_identifier_is_unique): New method.
(gcc::jit::reproducer::make_identifier): Avoid appending the %p
unless necessary for uniqueness.  Update for field renaming.
(gcc::jit::reproducer::get_identifier): Update for field renaming.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251191 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/jit/ChangeLog
gcc/jit/jit-recording.c