]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgccjit: Add support for machine-dependent builtins
authorAntoni Boucher <bouanto@zoho.com>
Mon, 23 Jan 2023 22:21:15 +0000 (17:21 -0500)
committerAntoni Boucher <bouanto@zoho.com>
Wed, 20 Nov 2024 19:03:57 +0000 (14:03 -0500)
commit87f0136fa46c9b0352aa47f637d2f6678b8beb5b
tree71f636c53d2bdedac4dd4c365a3da41724e0ede5
parentbeab0a3ecb2fa839295869fcff1c10237b99d085
libgccjit: Add support for machine-dependent builtins

gcc/jit/ChangeLog:
PR jit/108762
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_32): New ABI tag.
* docs/topics/functions.rst: Add documentation for the function
gcc_jit_context_get_target_builtin_function.
* dummy-frontend.cc: Include headers target.h, jit-recording.h,
print-tree.h, unordered_map and string, new variables (target_builtins,
target_function_types, and target_builtins_ctxt), new function
(tree_type_to_jit_type).
* jit-builtins.cc: Specify that the function types are not from
target builtins.
* jit-playback.cc: New argument is_target_builtin to new_function.
* jit-playback.h: New argument is_target_builtin to
new_function.
* jit-recording.cc: New argument is_target_builtin to
new_function_type, function_type constructor and function
constructor, new function
(get_target_builtin_function).
* jit-recording.h: Include headers string and unordered_map, new
variable target_function_types, new argument is_target_builtin
to new_function_type, function_type and function, new functions
(get_target_builtin_function, copy).
* libgccjit.cc: New function
(gcc_jit_context_get_target_builtin_function).
* libgccjit.h: New function
(gcc_jit_context_get_target_builtin_function).
* libgccjit.map: New functions
(gcc_jit_context_get_target_builtin_function).

gcc/testsuite:
PR jit/108762
* jit.dg/all-non-failing-tests.h: New test test-target-builtins.c.
* jit.dg/test-target-builtins.c: New test.
13 files changed:
gcc/jit/docs/topics/compatibility.rst
gcc/jit/docs/topics/functions.rst
gcc/jit/dummy-frontend.cc
gcc/jit/jit-builtins.cc
gcc/jit/jit-playback.cc
gcc/jit/jit-playback.h
gcc/jit/jit-recording.cc
gcc/jit/jit-recording.h
gcc/jit/libgccjit.cc
gcc/jit/libgccjit.h
gcc/jit/libgccjit.map
gcc/testsuite/jit.dg/all-non-failing-tests.h
gcc/testsuite/jit.dg/test-target-builtins.c [new file with mode: 0644]