PR jit/64166: Add methods to gcc::dump_manager needed by JIT testing

gcc/ChangeLog:
	PR jit/64166
	* dumpfile.c (gcc::dump_manager::get_dump_file_info_by_switch):
	New function.
	(gcc::dump_manager::get_dump_file_name): Split out bulk of
	implementation into a new overloaded variant taking a
	dump_file_info *.
	* dumpfile.h (gcc::dump_manager::get_dump_file_info_by_switch):
	New function.
	(gcc::dump_manager::get_dump_file_name): New overloaded variant of
	this function, taking a dump_file_info *.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218520 138bc75d-0d04-0410-961f-82ee72b054a4
PR jit/64166: Add API entrypoint gcc_jit_context_enable_dump

gcc/jit/ChangeLog:
	PR jit/64166
	* docs/topics/contexts.rst (Debugging): Add description of
	gcc_jit_context_enable_dump.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-playback.c: Include context.h.
	(class auto_argvec): New class.
	(auto_argvec::~auto_argvec): New function.
	(gcc::jit::playback::context::compile): Convert fake_args to be
	an auto_argvec, so that it can contain dynamically-allocated
	strings.   Construct a vec of all requested dumps, and pass it to
	make_fake_args.  Extract requested dumps between the calls to
	toplev::main and toplev::finalize.
	(gcc::jit::playback::context::make_fake_args): Convert param
	"argvec" to be a vec <char *>, and gain a "requested_dumps"
	param.  Convert to dynamically-allocated arg strings by converting
	ADD_ARG to take a copy of the arg, and add ADD_ARG_TAKE_OWNERSHIP
	for args that are already a copy.  Add args for all requested dumps.
	(gcc::jit::playback::context::extract_any_requested_dumps): New
	function.
	(gcc::jit::playback::context::read_dump_file): New function.
	* jit-playback.h (gcc::jit::playback::context::make_fake_args):
	Convert param "argvec" to be a vec <char *>, and gain a
	"requested_dumps" param.
	(gcc::jit::playback::context::extract_any_requested_dumps): New
	function.
	(gcc::jit::playback::context::read_dump_file): New function.
	* jit-recording.c (gcc::jit::recording::context::enable_dump): New
	function.
	(gcc::jit::recording::context::get_all_requested_dumps): New
	function.
	* jit-recording.h (gcc::jit::recording::requested_dump): New
	struct.
	(gcc::jit::recording::context::enable_dump): New function.
	(gcc::jit::recording::context::get_all_requested_dumps): New
	function.
	(gcc::jit::recording::context::m_requested_dumps): New field.
	* libgccjit.c (gcc_jit_context_enable_dump): New API entrypoint.
	* libgccjit.h (gcc_jit_context_enable_dump): New API entrypoint.
	* libgccjit.map (gcc_jit_context_enable_dump): New API entrypoint.

gcc/testsuite/ChangeLog:
	PR jit/64166
	PR jit/64020
	* jit.dg/harness.h (CHECK_STRING_CONTAINS): New macro.
	(check_string_contains): New function.
	* jit.dg/test-error-unrecognized-dump.c: New file.
	* jit.dg/test-functions.c (trig_sincos_dump): New variable.
	(trig_statistics_dump): New variable.
	(create_test_of_builtin_trig): Enable dumping of "sincos" and
	"statistics" into "trig_sincos_dump" and "trig_statistics_dump".
	(verify_test_of_builtin_trig): Verify the sincos and statistics
	dumps.
	* jit.dg/test-sum-of-squares.c (dump_vrp1): New variable.
	(create_code): Enable dumping of "tree-vrp1" into dump_vrp1.
	(verify_code): Verify the tree-vrp1 dump.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218521 138bc75d-0d04-0410-961f-82ee72b054a4
jit: Add new testcase missing from r218521

I intended for r218521 to contain this file:

gcc/testsuite/ChangeLog:
	* jit.dg/test-error-unrecognized-dump.c: New file.

Add it.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218522 138bc75d-0d04-0410-961f-82ee72b054a4