aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorAntoni Boucher <bouanto@zoho.com>2022-04-12 17:20:30 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-04-12 17:20:30 -0400
commit5780ff348ad4430383fd67c6f0c572d8c3e721ad (patch)
tree311284f0fbd68d5886a3e3b0843026fa09517828 /gcc/rtl.h
parent30f7c83e9cfe7c015448d72f63c4c39d14bc6de6 (diff)
downloadgcc-5780ff348ad4430383fd67c6f0c572d8c3e721ad.zip
gcc-5780ff348ad4430383fd67c6f0c572d8c3e721ad.tar.gz
gcc-5780ff348ad4430383fd67c6f0c572d8c3e721ad.tar.bz2
libgccjit: Add support for register variables [PR104072]
gcc/jit/ PR jit/104072 * docs/_build/texinfo/libgccjit.texi: Regenerate. * docs/topics/compatibility.rst (LIBGCCJIT_ABI_22): New ABI tag. * docs/topics/expressions.rst: Add documentation for the function gcc_jit_lvalue_set_register_name. * jit-playback.h: New function (set_register_name). * jit-recording.cc: New function (set_register_name) and add support for register variables. * jit-recording.h: New field (m_reg_name) and new function (set_register_name). * libgccjit.cc: New function (gcc_jit_lvalue_set_register_name). * libgccjit.h: New function (gcc_jit_lvalue_set_register_name). * libgccjit.map (LIBGCCJIT_ABI_22): New ABI tag. gcc/ PR jit/104072 * reginfo.cc: New functions (clear_global_regs_cache, reginfo_cc_finalize) to avoid an issue where compiling the same code multiple times gives an error about assigning the same register to 2 global variables. * rtl.h: New function (reginfo_cc_finalize). * toplev.cc: Call it. gcc/testsuite/ PR jit/104072 * jit.dg/all-non-failing-tests.h: Add new test-register-variable. * jit.dg/harness.h: Add -fdiagnostics-color=never to context's command-line options. * jit.dg/test-error-register-variable-bad-name.c: New test. * jit.dg/test-error-register-variable-size-mismatch.c: New test. * jit.dg/test-register-variable.c: New test.
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 9df2fab..488016b 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -3774,6 +3774,7 @@ extern bool resize_reg_info (void);
extern void free_reg_info (void);
extern void init_subregs_of_mode (void);
extern void finish_subregs_of_mode (void);
+extern void reginfo_cc_finalize (void);
/* recog.cc */
extern rtx extract_asm_operands (rtx);