This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug jit/64166] JIT does not provide a way for verifying dumpfiles from testcases


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64166

--- Comment #5 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Author: dmalcolm
Date: Tue Dec  9 15:35:39 2014
New Revision: 218521

URL: https://gcc.gnu.org/viewcvs?rev=218521&root=gcc&view=rev
Log:
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.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/jit/docs/_build/texinfo/libgccjit.texi
    trunk/gcc/jit/docs/topics/contexts.rst
    trunk/gcc/jit/jit-playback.c
    trunk/gcc/jit/jit-playback.h
    trunk/gcc/jit/jit-recording.c
    trunk/gcc/jit/jit-recording.h
    trunk/gcc/jit/libgccjit.c
    trunk/gcc/jit/libgccjit.h
    trunk/gcc/jit/libgccjit.map
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/jit.dg/harness.h
    trunk/gcc/testsuite/jit.dg/test-functions.c
    trunk/gcc/testsuite/jit.dg/test-sum-of-squares.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]