diff options
author | Jan Hubicka <jh@suse.cz> | 2007-09-04 16:03:31 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2007-09-04 14:03:31 +0000 |
commit | 8a33f10034d5c598395edc4ff0ae56e2bde7577e (patch) | |
tree | bc1e8971e3309ecdbd9ef277a0279ed5b1e1ce55 /gcc/expr.c | |
parent | 6977374226b230fe6e6d9b5ce2615bea094cb0f1 (diff) | |
download | gcc-8a33f10034d5c598395edc4ff0ae56e2bde7577e.zip gcc-8a33f10034d5c598395edc4ff0ae56e2bde7577e.tar.gz gcc-8a33f10034d5c598395edc4ff0ae56e2bde7577e.tar.bz2 |
optabs.c (debug_optab_libfunc): Update; make available to gdb.
* optabs.c (debug_optab_libfunc): Update; make available to gdb.
(libfunc_entry): New structure.
(libfunc_hash): New hashtable.
(hash_libfunc): New function.
(eq_libfunc): New function.
(convert_optab_libfunc): New function.
(optab_libfunc): New function.
(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
expand_float, expand_fix, new_optab, new_convert_optab):
Update for new libfunc API.
(init_libfunc, init_integral_libfuncs,
init_floating_libfuncs, init_interclass_conv_libfuncs
init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
gen_extend_conv_libfunc): New.
(init_one_libfunc): Revamp for hashtables.
(set_conv_libfunc): Likewise.
(init_optabs): Initialize hashtable; use lazy initialization where possible.
* optabs.h (optab_handlers): Move out of GGC.
(optab, convert_optab): Move out of GGC; add lazy gen info.
(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
(optab_libfunc, convert_optab_libfunc): New.
* builtins.c (expand_builtin_powi): Update for new API.
* expr.c (convert_move): Likewise.
* expmed.c (expand_divmod): Likewise.
From-SVN: r128083
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -443,7 +443,7 @@ convert_move (rtx to, rtx from, int unsignedp) } /* Otherwise use a libcall. */ - libcall = convert_optab_handler (tab, to_mode, from_mode)->libfunc; + libcall = convert_optab_libfunc (tab, to_mode, from_mode); /* Is this conversion implemented yet? */ gcc_assert (libcall); |