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/builtins.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/builtins.c')
-rw-r--r-- | gcc/builtins.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index e353e4d..fc16948 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -3060,7 +3060,7 @@ expand_builtin_powi (tree exp, rtx target, rtx subtarget) if (GET_MODE (op1) != mode2) op1 = convert_to_mode (mode2, op1, 0); - target = emit_library_call_value (optab_handler (powi_optab, mode)->libfunc, + target = emit_library_call_value (optab_libfunc (powi_optab, mode), target, LCT_CONST_MAKE_BLOCK, mode, 2, op0, mode, op1, mode2); |