#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "machmode.h"#include "real.h"#include "rtl.h"#include "tree.h"#include "tree-gimple.h"#include "flags.h"#include "regs.h"#include "hard-reg-set.h"#include "except.h"#include "function.h"#include "insn-config.h"#include "expr.h"#include "optabs.h"#include "libfuncs.h"#include "recog.h"#include "output.h"#include "typeclass.h"#include "toplev.h"#include "predict.h"#include "tm_p.h"#include "target.h"#include "langhooks.h"#include "basic-block.h"#include "tree-mudflap.h"#include "builtins.def"

Go to the source code of this file.
| #define CASE_MATHFN | ( | BUILT_IN_MATHFN | ) |
| #define CODE_FOR_movstr CODE_FOR_nothing |
Definition at line 3106 of file builtins.c.
Definition at line 59 of file builtins.c.
| #define HAVE_movstr 0 |
Definition at line 3105 of file builtins.c.
| #define PAD_VARARGS_DOWN BYTES_BIG_ENDIAN |
Definition at line 52 of file builtins.c.
| #define POWI_MAX_MULTS (2*HOST_BITS_PER_WIDE_INT-2) |
Definition at line 2327 of file builtins.c.
| #define POWI_TABLE_SIZE 256 |
Definition at line 2334 of file builtins.c.
| #define POWI_WINDOW_SIZE 3 |
Definition at line 2339 of file builtins.c.
| static int apply_args_size | ( | void | ) | [static] |
Definition at line 1162 of file builtins.c.
References align, apply_args_mode, apply_args_reg_offset, BITS_PER_UNIT, gcc_target::calls, CEIL, cfun, FIRST_PSEUDO_REGISTER, FUNCTION_ARG_REGNO_P, gcc_assert, GET_MODE_ALIGNMENT, GET_MODE_SIZE, mode, Pmode, reg_raw_mode, size, gcc_target::calls::struct_value_rtx, targetm, and TREE_TYPE.
| static int apply_result_size | ( | void | ) | [static] |
Definition at line 1207 of file builtins.c.
References align, apply_result_mode, APPLY_RESULT_SIZE, BITS_PER_UNIT, CEIL, FIRST_PSEUDO_REGISTER, FUNCTION_VALUE_REGNO_P, gcc_assert, GET_MODE_ALIGNMENT, GET_MODE_SIZE, mode, reg_raw_mode, and size.
Definition at line 9201 of file builtins.c.
References build1, build3, build_pointer_type(), fold(), fold_build3, NULL_TREE, and TREE_TYPE.
| tree build_string_literal | ( | int | len, | |
| const char * | str | |||
| ) |
Definition at line 4852 of file builtins.c.
References build1, build_array_type(), build_index_type(), build_int_cst(), build_pointer_type(), build_string(), build_type_variant, char_type_node, index(), NULL_TREE, TREE_CONSTANT, TREE_INVARIANT, TREE_READONLY, TREE_STATIC, and TREE_TYPE.
Referenced by expand_builtin_printf(), and fold_builtin_printf().
| enum built_in_function builtin_mathfn_code | ( | tree | t | ) |
Definition at line 6494 of file builtins.c.
References BUILT_IN_MD, COMPLEX_FLOAT_TYPE_P, DECL_BUILT_IN, DECL_BUILT_IN_CLASS, DECL_FUNCTION_CODE, END_BUILTINS, get_callee_fndecl(), INTEGRAL_TYPE_P, NULL_TREE, POINTER_TYPE_P, SCALAR_FLOAT_TYPE_P, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, and VOID_TYPE_P.
| static rtx builtin_memcpy_read_str | ( | void * | data, | |
| HOST_WIDE_INT | offset, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2810 of file builtins.c.
References c_readstr(), gcc_assert, GET_MODE_SIZE, HOST_WIDE_INT, str, and strlen().
| static rtx builtin_memset_gen_str | ( | void * | data, | |
| HOST_WIDE_INT offset | ATTRIBUTE_UNUSED, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3384 of file builtins.c.
References alloca, c_readstr(), convert_to_mode(), expand_mult(), force_reg(), GET_MODE_SIZE, memset, NULL_RTX, p, and target.
| static rtx builtin_memset_read_str | ( | void * | data, | |
| HOST_WIDE_INT offset | ATTRIBUTE_UNUSED, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3367 of file builtins.c.
References alloca, c, c_readstr(), GET_MODE_SIZE, memset, and p.
Definition at line 520 of file builtins.c.
References save_expr(), TREE_ADDRESSABLE, TREE_CODE, and TREE_STATIC.
| static rtx builtin_strncpy_read_str | ( | void * | data, | |
| HOST_WIDE_INT | offset, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3290 of file builtins.c.
References c_readstr(), const0_rtx, HOST_WIDE_INT, str, and strlen().
| static const char * c_getstr | ( | tree | src | ) | [static] |
Definition at line 437 of file builtins.c.
References compare_tree_int(), host_integerp(), string_constant(), tree_low_cst(), TREE_STRING_LENGTH, and TREE_STRING_POINTER.
| static rtx c_readstr | ( | const char * | str, | |
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 458 of file builtins.c.
References BITS_PER_UNIT, BYTES_BIG_ENDIAN, c, char, gcc_assert, GET_MODE_CLASS, GET_MODE_SIZE, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, i, immed_double_const(), MODE_INT, UNITS_PER_WORD, and WORDS_BIG_ENDIAN.
Definition at line 356 of file builtins.c.
References c_strlen(), host_integerp(), HOST_WIDE_INT, i, max, offset, ptr, size_diffop(), size_int, ssize_int, string_constant(), STRIP_NOPS, strlen(), TREE_CODE, tree_int_cst_equal(), tree_low_cst(), TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_STRING_LENGTH, TREE_STRING_POINTER, and warning.
Definition at line 212 of file builtins.c.
References DECL_NAME, IDENTIFIER_POINTER, and strncmp().
Referenced by expand_builtin().
| rtx default_expand_builtin | ( | tree exp | ATTRIBUTE_UNUSED, | |
| rtx target | ATTRIBUTE_UNUSED, | |||
| rtx subtarget | ATTRIBUTE_UNUSED, | |||
| enum machine_mode mode | ATTRIBUTE_UNUSED, | |||
| int ignore | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 4347 of file builtins.c.
References build1, build_int_cst(), and build_pointer_type().
| rtx expand_builtin | ( | tree | exp, | |
| rtx | target, | |||
| rtx | subtarget, | |||
| enum machine_mode | mode, | |||
| int | ignore | |||
| ) |
Definition at line 5646 of file builtins.c.
References abort, AGGREGATE_TYPE_P, AND, boolean_type_node, BUILT_IN_MD, called_as_built_in(), CALLED_AS_BUILT_IN, CASE_FLT_FN, CASE_INT_FN, clz_optab, const0_rtx, const1_rtx, ctz_optab, current_function_decl, DECL_ASSEMBLER_NAME_SET_P, DECL_BUILT_IN_CLASS, DECL_FUNCTION_CODE, DECL_IS_PURE, DECL_NAME, DECL_RESULT, DECL_RTL, emit_queue(), error(), gcc_target::expand_builtin, expand_builtin_adjust_trampoline(), expand_builtin_alloca(), expand_builtin_apply(), expand_builtin_apply_args(), expand_builtin_args_info(), expand_builtin_bcopy(), expand_builtin_bzero(), expand_builtin_classify_type(), expand_builtin_compare_and_swap(), expand_builtin_constant_p(), expand_builtin_copysign(), expand_builtin_dwarf_sp_column(), expand_builtin_eh_return(), expand_builtin_eh_return_data_regno(), expand_builtin_expect(), expand_builtin_extend_pointer(), expand_builtin_extract_return_addr(), expand_builtin_fabs(), expand_builtin_ffs(), expand_builtin_fork_or_exec(), expand_builtin_fprintf(), expand_builtin_fputs(), expand_builtin_frame_address(), expand_builtin_frob_return_addr(), expand_builtin_init_dwarf_reg_sizes(), expand_builtin_init_trampoline(), expand_builtin_int_roundingfn(), expand_builtin_lock_release(), expand_builtin_lock_test_and_set(), expand_builtin_longjmp(), expand_builtin_mathfn(), expand_builtin_mathfn_2(), expand_builtin_mathfn_3(), expand_builtin_memcmp(), expand_builtin_memcpy(), expand_builtin_memmove(), expand_builtin_memory_chk(), expand_builtin_mempcpy(), expand_builtin_memset(), expand_builtin_next_arg(), expand_builtin_nonlocal_goto(), expand_builtin_object_size(), expand_builtin_pow(), expand_builtin_powi(), expand_builtin_prefetch(), expand_builtin_printf(), expand_builtin_profile_func(), expand_builtin_return(), expand_builtin_saveregs(), expand_builtin_setjmp(), expand_builtin_setjmp_receiver(), expand_builtin_setjmp_setup(), expand_builtin_signbit(), expand_builtin_sincos(), expand_builtin_sprintf(), expand_builtin_stpcpy(), expand_builtin_strcat(), expand_builtin_strchr(), expand_builtin_strcmp(), expand_builtin_strcpy(), expand_builtin_strcspn(), expand_builtin_strlen(), expand_builtin_strncat(), expand_builtin_strncmp(), expand_builtin_strncpy(), expand_builtin_strpbrk(), expand_builtin_strrchr(), expand_builtin_strspn(), expand_builtin_strstr(), expand_builtin_sync_operation(), expand_builtin_synchronize(), expand_builtin_trap(), expand_builtin_unop(), expand_builtin_unwind_init(), expand_builtin_update_setjmp_buf(), expand_builtin_va_copy(), expand_builtin_va_end(), expand_builtin_va_start(), expand_call(), expand_expr(), EXPAND_NORMAL, expand_normal(), expand_stack_restore(), expand_stack_save(), ffs_optab, flag_unsafe_math_optimizations, fold_builtin_next_arg(), FORCED_LABEL, gcc_unreachable, gen_reg_rtx(), gen_rtx_EXPR_LIST, get_builtin_sync_mode(), get_callee_fndecl(), GET_CODE, i, IDENTIFIER_POINTER, label_rtx(), maybe_emit_chk_warning(), maybe_emit_sprintf_chk_warning(), MEM, MEM_P, MINUS, nonlocal_goto_handler_labels, NOT, NULL_RTX, optimize, parity_optab, PLUS, popcount_optab, register_operand(), remove_node_from_expr_list(), targetm, TREE_CHAIN, TREE_OPERAND, TREE_READONLY, TREE_THIS_VOLATILE, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), virtual_cfa_rtx, XEXP, and XOR.
Definition at line 5260 of file builtins.c.
References expand_normal(), NULL_RTX, round_trampoline_addr(), TRAMPOLINE_ADJUST_ADDRESS, TREE_VALUE, and validate_arglist().
Definition at line 4568 of file builtins.c.
References allocate_dynamic_stack_space(), BITS_PER_UNIT, convert_memory_address(), expand_normal(), ptr_mode, TREE_VALUE, and validate_arglist().
Definition at line 1378 of file builtins.c.
References add_function_usage_to(), adjust_address, allocate_dynamic_stack_space(), apply_args_mode, apply_args_size(), apply_result_mode, apply_result_size(), assign_stack_local(), BITS_PER_UNIT, BLOCK_OP_NORMAL, gcc_target::calls, CEIL, cfun, const0_rtx, convert_memory_address(), copy_addr_to_reg(), dest, do_pending_stack_adjust(), emit_block_move(), emit_call_insn(), emit_move_insn(), emit_stack_restore(), emit_stack_save(), expand_simple_binop(), FUNCTION_MODE, gcc_assert, gcc_unreachable, GEN_CALL_VALUE, gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_PLUS, gen_rtx_REG(), gen_untyped_call(), GET_CODE, GET_MODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, HAVE_call_value, HAVE_save_stack_nonlocal, HAVE_untyped_call, INTVAL, last_call_insn(), memory_address(), MINUS, negate_rtx(), NO_DEFER_POP, NULL, NULL_RTX, OK_DEFER_POP, OPTAB_LIB_WIDEN, PARM_BOUNDARY, plus_constant, Pmode, prepare_call_address(), ptr_mode, REG_P, SAVE_BLOCK, SAVE_NONLOCAL, set_mem_align(), src, gcc_target::calls::struct_value_rtx, targetm, TREE_TYPE, use_reg(), virtual_outgoing_args_rtx, and XEXP.
Definition at line 1343 of file builtins.c.
References apply_args_value, emit_insn_before(), end_sequence(), entry_of_function(), expand_builtin_apply_args_1(), get_insns(), NEXT_INSN, pop_topmost_sequence(), push_topmost_sequence(), and start_sequence().
Definition at line 1278 of file builtins.c.
References adjust_address, apply_args_mode, apply_args_size(), assign_stack_local(), BITS_PER_UNIT, gcc_target::calls, CEIL, cfun, copy_addr_to_reg(), copy_to_reg(), current_function_pretend_args_size, emit_move_insn(), force_operand(), gen_rtx_REG(), GET_MODE_ALIGNMENT, GET_MODE_SIZE, INCOMING_REGNO, NULL_RTX, plus_constant, Pmode, gcc_target::calls::struct_value_rtx, targetm, TREE_TYPE, virtual_incoming_args_rtx, and XEXP.
Definition at line 4105 of file builtins.c.
References const0_rtx, current_function_args_info, error(), gcc_assert, GEN_INT, host_integerp(), HOST_WIDE_INT, tree_low_cst(), and TREE_VALUE.
Definition at line 3078 of file builtins.c.
References build_tree_list, const0_rtx, dest, expand_builtin_memmove(), fold_convert(), NULL_RTX, NULL_TREE, sizetype, src, TREE_CHAIN, tree_cons, TREE_OPERAND, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 3533 of file builtins.c.
References build_tree_list, const0_rtx, dest, expand_builtin_memset(), fold_convert(), integer_zero_node, NULL_RTX, NULL_TREE, sizetype, TREE_CHAIN, tree_cons, TREE_OPERAND, TREE_VALUE, and validate_arglist().
Definition at line 1612 of file builtins.c.
References GEN_INT, no_type_class, TREE_TYPE, TREE_VALUE, and type_to_class().
| static rtx expand_builtin_compare_and_swap | ( | enum machine_mode | mode, | |
| tree | arglist, | |||
| bool | is_bool, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 5521 of file builtins.c.
References convert_modes(), expand_bool_compare_and_swap(), expand_expr(), EXPAND_NORMAL, expand_val_compare_and_swap(), get_builtin_sync_mem(), GET_MODE, NULL, TREE_CHAIN, TREE_TYPE, TREE_VALUE, and TYPE_MODE.
Referenced by expand_builtin().
Definition at line 4832 of file builtins.c.
References expand_copysign(), expand_expr(), EXPAND_NORMAL, expand_normal(), TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 4638 of file builtins.c.
References c, const0_rtx, emit_note(), error(), exp, expand_expr(), EXPAND_NORMAL, flag_guess_branch_prob, force_reg(), gen_rtx_EQ, GET_CODE, GET_MODE, integer_zero_node, NOTE_EXPECTED_VALUE, NOTE_INSN_EXPECTED_VALUE, NULL_RTX, NULL_TREE, TREE_CHAIN, TREE_CODE, and TREE_VALUE.
Definition at line 4682 of file builtins.c.
References any_condjump_p(), any_uncondjump_p(), do_jump(), end_sequence(), GET_CODE, get_insns(), get_last_insn(), insn, integer_onep(), integer_zerop(), JUMP_P, LABEL_P, next, NEXT_INSN, next_nonnote_insn(), NOTE_P, NULL_RTX, pattern, pc_rtx, pc_set(), pending_stack_adjust, predict_insn_def(), prev_nonnote_insn(), ret, RETURN, SET_SRC, start_sequence(), taken, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, unsafe_for_reeval(), unsave_expr(), and XEXP.
Definition at line 4811 of file builtins.c.
References expand_abs(), expand_expr(), safe_from_p(), TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 5383 of file builtins.c.
References build_decl, build_function_call_expr(), call(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_FUNCTION_CODE, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, expand_call(), gcc_unreachable, get_identifier(), NULL_RTX, profile_arc_flag, TREE_NOTHROW, TREE_PUBLIC, TREE_TYPE, and VISIBILITY_DEFAULT.
| static rtx expand_builtin_fprintf | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode, | |||
| bool | unlocked | |||
| ) | [static] |
Definition at line 4990 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, c_getstr(), CALL_EXPR_TAILCALL, const0_rtx, expand_expr(), EXPAND_NORMAL, fp, implicit_built_in_decls, init_target_chars(), NULL, NULL_TREE, POINTER_TYPE_P, strchr, strcmp(), target_percent, target_percent_c, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, TREE_OPERAND, TREE_TYPE, and TREE_VALUE.
Definition at line 4620 of file builtins.c.
References const0_rtx, expand_expr(), EXPAND_NORMAL, fold_builtin_fputs(), NULL_TREE, and validate_arglist().
Definition at line 4520 of file builtins.c.
References const0_rtx, CONSTANT_P, copy_to_mode_reg(), DECL_FUNCTION_CODE, error(), expand_builtin_return_addr(), host_integerp(), NULL, Pmode, REG_P, tree_low_cst(), TREE_VALUE, and warning.
Definition at line 5223 of file builtins.c.
References assemble_trampoline_template(), BLOCK_OP_NORMAL, const0_rtx, emit_block_move(), expand_normal(), GEN_INT, gen_rtx_MEM(), INITIALIZE_TRAMPOLINE, NULL_RTX, round_trampoline_addr(), set_mem_align(), TRAMPOLINE_ALIGNMENT, TRAMPOLINE_SIZE, trampolines_created, TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 2220 of file builtins.c.
References build_function_call_expr(), build_tree_list, builtin_save_expr(), CASE_FLT_FN, CODE_FOR_nothing, DECL_FUNCTION_CODE, emit_insn(), end_sequence(), expand_expr(), expand_fix(), expand_normal(), expand_unop(), gcc_assert, gcc_unreachable, gen_reg_rtx(), get_callee_fndecl(), get_insns(), insns, lceil_optab, lfloor_optab, mathfn_built_in(), NULL_TREE, optab, start_sequence(), tmp, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Referenced by expand_builtin().
| static void expand_builtin_lock_release | ( | enum machine_mode | mode, | |
| tree | arglist | |||
| ) | [static] |
Definition at line 5609 of file builtins.c.
References CODE_FOR_nothing, const0_rtx, emit_insn(), emit_move_insn(), expand_builtin_synchronize(), force_reg(), GEN_FCN, get_builtin_sync_mem(), insn, sync_lock_release, TREE_VALUE, and val.
Referenced by expand_builtin().
| static rtx expand_builtin_lock_test_and_set | ( | enum machine_mode | mode, | |
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 5561 of file builtins.c.
References convert_modes(), expand_expr(), EXPAND_NORMAL, expand_sync_lock_test_and_set(), get_builtin_sync_mem(), GET_MODE, NULL, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_MODE, and val.
Referenced by expand_builtin().
Definition at line 745 of file builtins.c.
References alloc_EXPR_LIST(), CALL_P, const0_rtx, const1_rtx, convert_memory_address(), copy_to_reg(), emit_indirect_jump(), emit_insn(), emit_move_insn(), emit_stack_restore(), force_reg(), fp, gcc_assert, gen_builtin_longjmp(), gen_nonlocal_goto(), gen_rtx_CLOBBER, gen_rtx_MEM(), gen_rtx_SCRATCH, gen_rtx_USE, get_last_insn(), GET_MODE_SIZE, hard_frame_pointer_rtx, HAVE_builtin_longjmp, HAVE_nonlocal_goto, insn, JUMP_P, lab, last, new_alias_set(), NULL_RTX, plus_constant, Pmode, PREV_INSN, REG_NON_LOCAL_GOTO, REG_NOTES, SAVE_NONLOCAL, set_mem_alias_set(), setjmp_alias_set, stack, stack_pointer_rtx, and STACK_SAVEAREA_MODE.
Definition at line 1776 of file builtins.c.
References acos_optab, asin_optab, atan_optab, btrunc_optab, build_function_call_expr(), build_tree_list, builtin_save_expr(), CASE_FLT_FN, ceil_optab, CODE_FOR_nothing, const0_rtx, DECL_FUNCTION_CODE, emit_insn(), end_sequence(), exp10_optab, exp2_optab, exp_optab, expand_call(), expand_errno_check(), expand_expr(), expand_unop(), expm1_optab, find_reg_note(), flag_errno_math, floor_optab, gcc_unreachable, gen_reg_rtx(), gen_rtx_SQRT, get_callee_fndecl(), GET_CODE, get_insns(), get_last_insn(), GET_MODE, HONOR_NANS, ilogb_optab, insns, last, log10_optab, log1p_optab, log2_optab, log_optab, logb_optab, lrint_optab, nearbyint_optab, NULL, NULL_RTX, NULL_TREE, optab, PREV_INSN, REG_EQUAL, REG_P, REG_RETVAL, rint_optab, round_optab, set_unique_reg_note(), sqrt_optab, start_sequence(), tan_optab, tree_expr_nonnegative_p(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and XEXP.
Definition at line 1947 of file builtins.c.
References atan2_optab, build_function_call_expr(), build_tree_list, builtin_save_expr(), CASE_FLT_FN, CODE_FOR_nothing, const0_rtx, DECL_FUNCTION_CODE, drem_optab, emit_insn(), end_sequence(), expand_binop(), expand_call(), expand_errno_check(), expand_expr(), EXPAND_NORMAL, expand_normal(), flag_errno_math, fmod_optab, gcc_unreachable, gen_reg_rtx(), get_callee_fndecl(), get_insns(), HONOR_NANS, insns, ldexp_optab, NULL_TREE, optab, OPTAB_DIRECT, pow_optab, start_sequence(), TREE_CHAIN, tree_cons, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 2060 of file builtins.c.
References build_function_call_expr(), build_tree_list, CASE_FLT_FN, CODE_FOR_nothing, const0_rtx, cos_optab, DECL_FUNCTION_CODE, emit_insn(), end_sequence(), expand_call(), expand_expr(), expand_twoval_unop(), expand_unop(), gcc_assert, gcc_unreachable, gen_reg_rtx(), get_callee_fndecl(), get_insns(), insns, NULL_TREE, optab, save_expr(), sin_optab, sincos_optab, start_sequence(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
| static rtx expand_builtin_memcmp | ( | tree exp | ATTRIBUTE_UNUSED, | |
| tree | arglist, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3562 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, convert_move(), convert_to_mode(), emit_insn(), emit_library_call_value(), exp, expand_expr(), EXPAND_NORMAL, expand_normal(), fold_builtin_memcmp(), gcc_unreachable, GEN_INT, gen_reg_rtx(), GET_CODE, get_memory_rtx(), GET_MODE, get_pointer_alignment(), insn, int, integer_type_node, LCT_PURE_MAKE_BLOCK, len, memcmp_libfunc, MIN, Pmode, REG_P, REGNO, set_mem_size(), sizetype, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_MODE, TYPE_UNSIGNED, validate_arglist(), and XEXP.
| static rtx expand_builtin_memcpy | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2827 of file builtins.c.
References BIGGEST_ALIGNMENT, BLOCK_OP_NORMAL, BLOCK_OP_TAILCALL, builtin_memcpy_read_str(), c_getstr(), CALL_EXPR_TAILCALL, can_store_by_pieces(), const0_rtx, convert_memory_address(), dest, emit_block_move(), expand_expr(), EXPAND_NORMAL, expand_normal(), fold_builtin_memory_op(), force_operand(), get_callee_fndecl(), GET_CODE, get_memory_rtx(), get_pointer_alignment(), HOST_WIDE_INT, INTVAL, len, NULL_RTX, ptr_mode, set_mem_align(), src, store_by_pieces(), strlen(), TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_VALUE, validate_arglist(), and XEXP.
| static rtx expand_builtin_memmove | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode, | |||
| tree | orig_exp | |||
| ) | [static] |
Definition at line 3009 of file builtins.c.
References BIGGEST_ALIGNMENT, build_function_call_expr(), CALL_EXPR_TAILCALL, const0_rtx, dest, expand_builtin_mempcpy(), expand_expr(), EXPAND_NORMAL, fold_builtin_memory_op(), get_pointer_alignment(), implicit_built_in_decls, integer_onep(), len, readonly_data_expr(), ret, src, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_VALUE, and validate_arglist().
| static rtx expand_builtin_memory_chk | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode, | |||
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 10048 of file builtins.c.
References BIGGEST_ALIGNMENT, build_function_call_expr(), build_tree_list, built_in_decls, CALL_EXPR_TAILCALL, const0_rtx, dest, expand_expr(), EXPAND_NORMAL, EXPR_LOCATION, fold_build2, fold_convert(), get_callee_fndecl(), get_pointer_alignment(), host_integerp(), integer_all_onesp(), len, NULL_TREE, operand_equal_p(), readonly_data_expr(), src, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, validate_arglist(), and warning.
Referenced by expand_builtin().
| static rtx expand_builtin_mempcpy | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode, | |||
| int | endp | |||
| ) | [static] |
Definition at line 2915 of file builtins.c.
References BIGGEST_ALIGNMENT, build_function_call_expr(), builtin_memcpy_read_str(), c_getstr(), can_move_by_pieces(), can_store_by_pieces(), const0_rtx, convert_memory_address(), dest, expand_expr(), EXPAND_NORMAL, expand_normal(), fold_builtin_memory_op(), force_operand(), GET_CODE, get_memory_rtx(), get_pointer_alignment(), host_integerp(), HOST_WIDE_INT, implicit_built_in_decls, INTVAL, len, MIN, move_by_pieces(), NULL_RTX, ptr_mode, set_mem_align(), src, store_by_pieces(), strlen(), TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_VALUE, validate_arglist(), and XEXP.
| static rtx expand_builtin_memset | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | mode, | |||
| tree | orig_exp | |||
| ) | [static] |
Definition at line 3410 of file builtins.c.
References BIGGEST_ALIGNMENT, BLOCK_OP_NORMAL, BLOCK_OP_TAILCALL, build_function_call_expr(), build_tree_list, builtin_memset_gen_str(), builtin_memset_read_str(), builtin_save_expr(), c, CALL_EXPR_TAILCALL, can_store_by_pieces(), clear_storage(), const0_rtx, convert_memory_address(), convert_to_mode(), DECL_FUNCTION_CODE, dest, expand_call(), expand_expr(), EXPAND_NORMAL, expand_normal(), force_operand(), force_reg(), gcc_assert, GEN_INT, get_callee_fndecl(), get_memory_rtx(), get_pointer_alignment(), host_integerp(), integer_zerop(), len, NULL_RTX, NULL_TREE, optimize_size, ptr_mode, set_mem_align(), set_storage_via_setmem(), store_by_pieces(), target_char_cast(), TREE_CHAIN, TREE_CODE, tree_cons, tree_low_cst(), TREE_VALUE, TYPE_MODE, unsigned_char_type_node, val, validate_arglist(), and XEXP.
Definition at line 4135 of file builtins.c.
References add_optab, current_function_arg_offset_rtx, current_function_internal_arg_pointer, expand_binop(), NULL_RTX, OPTAB_LIB_WIDEN, and Pmode.
Definition at line 834 of file builtins.c.
References alloc_EXPR_LIST(), CALL_P, const0_rtx, convert_memory_address(), copy_to_reg(), current_function_has_nonlocal_goto, emit_indirect_jump(), emit_insn(), emit_move_insn(), emit_stack_restore(), expand_normal(), gen_nonlocal_goto(), gen_rtx_CLOBBER, gen_rtx_MEM(), gen_rtx_SCRATCH, gen_rtx_USE, get_last_insn(), GET_MODE_SIZE, hard_frame_pointer_rtx, HAVE_nonlocal_goto, insn, JUMP_P, NULL_RTX, plus_constant, Pmode, PREV_INSN, REG_NON_LOCAL_GOTO, REG_NOTES, SAVE_NONLOCAL, stack_pointer_rtx, STACK_SAVEAREA_MODE, TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 10007 of file builtins.c.
References compare_tree_int(), const0_rtx, constm1_rtx, error(), expand_builtin_trap(), EXPR_LOCATION, get_callee_fndecl(), STRIP_NOPS, TREE_CHAIN, TREE_CODE, tree_int_cst_sgn(), tree_low_cst(), TREE_OPERAND, TREE_VALUE, and validate_arglist().
Referenced by expand_builtin().
Definition at line 2523 of file builtins.c.
References c, expand_builtin_mathfn_2(), expand_expr(), expand_powi(), flag_unsafe_math_optimizations, force_reg(), HOST_WIDE_INT, n, NULL_RTX, optimize_size, powi_cost(), POWI_MAX_MULTS, real_from_integer(), real_identical(), real_to_integer(), REAL_VALUE_TYPE, TREE_CHAIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_OPERAND, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 2573 of file builtins.c.
References convert_to_mode(), emit_library_call_value(), expand_expr(), expand_powi(), force_reg(), gen_reg_rtx(), GET_MODE, HOST_WIDE_INT, INT_TYPE_SIZE, LCT_CONST_MAKE_BLOCK, mode_for_size(), MODE_INT, n, NULL_RTX, optimize_size, powi_cost(), POWI_MAX_MULTS, powi_optab, TREE_CHAIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 944 of file builtins.c.
References build_int_cst(), CODE_FOR_prefetch, const0_rtx, convert_memory_address(), emit_insn(), error(), expand_expr(), EXPAND_NORMAL, expand_normal(), force_reg(), gen_prefetch, GET_MODE, HAVE_prefetch, integer_zero_node, INTVAL, MEM_P, mode, NULL_RTX, NULL_TREE, Pmode, side_effects_p(), TREE_CHAIN, TREE_CODE, TREE_VALUE, validate_arglist(), and warning.
| static rtx expand_builtin_printf | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode, | |||
| bool | unlocked | |||
| ) | [static] |
Definition at line 4880 of file builtins.c.
References alloca, build_function_call_expr(), build_int_cst(), build_string_literal(), build_tree_list, built_in_decls, c_getstr(), CALL_EXPR_TAILCALL, const0_rtx, expand_expr(), EXPAND_NORMAL, implicit_built_in_decls, init_target_chars(), len, memcpy, NULL, NULL_TREE, POINTER_TYPE_P, strchr, strcmp(), strlen(), target_newline, target_percent, target_percent_c, target_percent_s_newline, TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_TYPE, and TREE_VALUE.
Definition at line 5176 of file builtins.c.
References const0_rtx, current_function_decl, DECL_RTL, emit_library_call(), expand_builtin_return_addr(), gcc_assert, LCT_NORMAL, MEM_P, Pmode, profile_function_entry_libfunc, profile_function_exit_libfunc, and XEXP.
Definition at line 1533 of file builtins.c.
References adjust_address, apply_result_mode, apply_result_size(), BITS_PER_UNIT, CEIL, convert_memory_address(), emit_barrier(), emit_insn(), emit_jump_insn(), emit_move_insn(), end_sequence(), expand_naked_return(), gen_rtx_MEM(), gen_rtx_REG(), gen_rtx_USE, get_insns(), GET_MODE_ALIGNMENT, GET_MODE_SIZE, INCOMING_REGNO, Pmode, and push_to_sequence().
| static rtx expand_builtin_return_addr | ( | enum built_in_function | fndecl_code, | |
| int | count | |||
| ) | [static] |
Definition at line 535 of file builtins.c.
References copy_to_reg(), current_function_accesses_prior_frames, DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX, frame_pointer_rtx, gen_frame_mem(), GET_MODE_SIZE, hard_frame_pointer_rtx, i, INITIAL_FRAME_ADDRESS_RTX, memory_address(), plus_constant, Pmode, RETURN_ADDR_RTX, and SETUP_FRAME_ADDRESSES.
Definition at line 4067 of file builtins.c.
References gcc_target::calls, const0_rtx, emit_insn_after(), end_sequence(), entry_of_function(), error(), EXPAND_BUILTIN_SAVEREGS, gcc_target::calls::expand_builtin_saveregs, get_insns(), pop_topmost_sequence(), push_topmost_sequence(), saveregs_value, start_sequence(), targetm, and val.
Definition at line 674 of file builtins.c.
References ARG_POINTER_REGNUM, ARRAY_SIZE, cfun, copy_to_reg(), ELIMINABLE_REGS, emit_insn(), emit_move_insn(), fixed_regs, gen_builtin_setjmp_receiver(), gen_rtx_ASM_INPUT, gen_rtx_CLOBBER, gen_rtx_USE, get_arg_pointer_save_area(), HARD_FRAME_POINTER_REGNUM, hard_frame_pointer_rtx, HAVE_builtin_setjmp_receiver, HAVE_nonlocal_goto, i, virtual_incoming_args_rtx, and virtual_stack_vars_rtx.
Definition at line 622 of file builtins.c.
References gcc_target::builtin_setjmp_frame_value, BUILTIN_SETJMP_FRAME_VALUE, convert_memory_address(), current_function_calls_setjmp, current_function_has_nonlocal_label, emit_insn(), emit_move_insn(), emit_queue(), emit_stack_save(), force_operand(), force_reg(), gen_builtin_setjmp_setup(), gen_rtx_LABEL_REF, gen_rtx_MEM(), GET_MODE, GET_MODE_SIZE, HAVE_builtin_setjmp_setup, mem, new_alias_set(), NULL_RTX, plus_constant, Pmode, SAVE_NONLOCAL, set_mem_alias_set(), setjmp_alias_set, STACK_SAVEAREA_MODE, targetm, and validize_mem().
Definition at line 5282 of file builtins.c.
References and_optab, bitpos(), BITS_PER_WORD, build_int_cst(), build_real(), const1_rtx, dconst0, expand_binop(), expand_expr(), EXPAND_NORMAL, expand_normal(), expand_shift(), FLOAT_WORDS_BIG_ENDIAN, fold_build2, force_reg(), gen_lowpart, GET_MODE_BITSIZE, GET_MODE_SIZE, real_format::has_signed_zero, HONOR_SIGNED_ZEROS, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, immed_double_const(), int_mode_for_mode(), lo, NULL_RTX, NULL_TREE, operand_subword_force(), OPTAB_LIB_WIDEN, REAL_MODE_FORMAT, real_format::signbit_ro, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, UNITS_PER_WORD, validate_arglist(), and word_mode.
Definition at line 2170 of file builtins.c.
References build_fold_indirect_ref(), CODE_FOR_nothing, const0_rtx, emit_move_insn(), expand_normal(), expand_twoval_unop(), gcc_assert, gen_reg_rtx(), NULL_RTX, sincos_optab, TREE_CHAIN, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Referenced by expand_builtin().
| static rtx expand_builtin_sprintf | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 5092 of file builtins.c.
References build_function_call_expr(), build_int_cst(), build_tree_list, c_getstr(), c_strlen(), const0_rtx, dest, exp, expand_expr(), EXPAND_NORMAL, implicit_built_in_decls, init_target_chars(), len, NULL, NULL_TREE, POINTER_TYPE_P, strchr, strcmp(), strlen(), target_percent, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, and TREE_VALUE.
| static rtx expand_builtin_stpcpy | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3206 of file builtins.c.
References build_function_call_expr(), build_tree_list, c_getstr(), c_strlen(), const0_rtx, dst, emit_move_insn(), expand_builtin_mempcpy(), expand_builtin_strcpy(), expand_expr(), expand_movstr(), EXPAND_NORMAL, expand_normal(), force_operand(), gcc_assert, gen_lowpart, gen_reg_rtx(), get_callee_fndecl(), GET_CODE, GET_MODE, implicit_built_in_decls, INTVAL, len, NULL_RTX, NULL_TREE, plus_constant, ret, size_binop(), src, ssize_int, TREE_CHAIN, TREE_CODE, tree_cons, TREE_OPERAND, TREE_TYPE, TREE_VALUE, and validate_arglist().
| static rtx expand_builtin_strcat | ( | tree | fndecl, | |
| tree | arglist, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3953 of file builtins.c.
References build_function_call_expr(), build_tree_list, builtin_save_expr(), c_getstr(), dst, emit_insn(), end_sequence(), expand_builtin_strcpy(), expand_expr(), EXPAND_NORMAL, fold_build2, fold_convert(), get_insns(), implicit_built_in_decls, insns, NULL_TREE, optimize_size, p, src, start_sequence(), TREE_CHAIN, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
| static rtx expand_builtin_strchr | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2760 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strchr(), and validate_arglist().
| static rtx expand_builtin_strcmp | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3671 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, build_function_call_expr(), build_tree_list, builtin_save_expr(), c_strlen(), CALL_EXPR_TAILCALL, cmpstr_optab, cmpstrn_optab, CODE_FOR_cmpstrsi, CODE_FOR_nothing, const0_rtx, convert_move(), convert_to_mode(), emit_insn(), expand_call(), expand_expr(), EXPAND_NORMAL, expand_normal(), fold_builtin_strcmp(), gen_cmpstrsi(), GEN_INT, gen_reg_rtx(), get_callee_fndecl(), get_memory_rtx(), GET_MODE, get_pointer_alignment(), HAVE_cmpstrsi, insn, int, len, MIN, NULL, NULL_RTX, NULL_TREE, REG_P, REGNO, size_binop(), ssize_int, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
| static rtx expand_builtin_strcpy | ( | tree | fndecl, | |
| tree | arglist, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3177 of file builtins.c.
References const0_rtx, expand_expr(), expand_movstr(), EXPAND_NORMAL, fold_builtin_strcpy(), TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_VALUE, and validate_arglist().
| static rtx expand_builtin_strcspn | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 4052 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strcspn(), and validate_arglist().
| static rtx expand_builtin_strlen | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | target_mode | |||
| ) | [static] |
Definition at line 2636 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, c_strlen(), CODE_FOR_nothing, const0_rtx, convert_move(), convert_to_mode(), copy_to_mode_reg(), emit_insn(), emit_insn_after(), emit_insn_before(), emit_move_insn(), end_sequence(), expand_expr(), EXPAND_NORMAL, GEN_FCN, GEN_INT, gen_reg_rtx(), gen_rtx_MEM(), get_insns(), get_last_insn(), GET_MODE, GET_MODE_WIDER_MODE, get_pointer_alignment(), int, len, Pmode, ptr_mode, REG_P, REGNO, src, start_sequence(), strlen_optab, TREE_CODE, TREE_VALUE, and validate_arglist().
| static rtx expand_builtin_strncat | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 4019 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strncat(), and validate_arglist().
| static rtx expand_builtin_strncmp | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3823 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, build_function_call_expr(), build_tree_list, builtin_save_expr(), c_strlen(), CALL_EXPR_TAILCALL, const0_rtx, convert_move(), convert_to_mode(), emit_insn(), expand_call(), expand_expr(), EXPAND_NORMAL, expand_normal(), fold_build2, fold_builtin_strncmp(), fold_convert(), GEN_INT, gen_reg_rtx(), get_callee_fndecl(), get_memory_rtx(), GET_MODE, get_pointer_alignment(), insn, int, len, MIN, NULL_TREE, REG_P, REGNO, size_binop(), ssize_int, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
| static rtx expand_builtin_strncpy | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 3305 of file builtins.c.
References BIGGEST_ALIGNMENT, builtin_strncpy_read_str(), c_getstr(), c_strlen(), can_store_by_pieces(), const0_rtx, convert_memory_address(), dest, expand_expr(), EXPAND_NORMAL, fold_builtin_strncpy(), force_operand(), get_callee_fndecl(), get_memory_rtx(), get_pointer_alignment(), host_integerp(), len, NULL_RTX, p, ptr_mode, size_binop(), ssize_int, store_by_pieces(), TREE_CHAIN, TREE_CODE, tree_int_cst_lt(), tree_low_cst(), TREE_OPERAND, TREE_VALUE, validate_arglist(), and XEXP.
| static rtx expand_builtin_strpbrk | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2794 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strpbrk(), and validate_arglist().
| static rtx expand_builtin_strrchr | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2778 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strrchr(), and validate_arglist().
| static rtx expand_builtin_strspn | ( | tree | arglist, | |
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 4036 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strspn(), and validate_arglist().
| static rtx expand_builtin_strstr | ( | tree | arglist, | |
| tree | type, | |||
| rtx | target, | |||
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 2744 of file builtins.c.
References expand_expr(), EXPAND_NORMAL, fold_builtin_strstr(), and validate_arglist().
| static rtx expand_builtin_sync_operation | ( | enum machine_mode | mode, | |
| tree | arglist, | |||
| enum rtx_code | code, | |||
| bool | after, | |||
| rtx | target, | |||
| bool | ignore | |||
| ) | [static] |
Definition at line 5490 of file builtins.c.
References convert_modes(), expand_expr(), EXPAND_NORMAL, expand_sync_fetch_operation(), expand_sync_operation(), get_builtin_sync_mem(), GET_MODE, NULL, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_MODE, and val.
Referenced by expand_builtin().
Definition at line 5585 of file builtins.c.
References ASM_VOLATILE_P, build4, build_string(), emit_insn(), expand_asm_expr(), NULL, tree_cons, void_type_node, and x.
Referenced by expand_builtin(), and expand_builtin_lock_release().
Definition at line 4793 of file builtins.c.
References abort_libfunc, emit_barrier(), emit_insn(), emit_library_call(), gen_trap(), HAVE_trap, and LCT_NORETURN.
| static rtx expand_builtin_unop | ( | enum machine_mode | target_mode, | |
| tree | arglist, | |||
| rtx | target, | |||
| rtx | subtarget, | |||
| optab | op_optab | |||
| ) | [static] |
Definition at line 4598 of file builtins.c.
References convert_to_mode(), expand_expr(), expand_unop(), gcc_assert, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 911 of file builtins.c.
References CODE_FOR_save_stack_nonlocal, emit_insn(), emit_stack_save(), gen_rtx_MEM(), GET_MODE_SIZE, HAVE_save_stack_nonlocal, int, memory_address(), mode, NULL_RTX, plus_constant, Pmode, SAVE_NONLOCAL, and STACK_SAVEAREA_MODE.
Definition at line 4472 of file builtins.c.
References BLOCK_OP_NORMAL, build2, const0_rtx, convert_memory_address(), dst, emit_block_move(), expand_expr(), EXPAND_NORMAL, gen_rtx_MEM(), get_alias_set(), NULL_RTX, Pmode, set_mem_alias_set(), set_mem_align(), src, stabilize_va_list(), TREE_CHAIN, TREE_CODE, TREE_SIDE_EFFECTS, TREE_TYPE, TREE_VALUE, TYPE_ALIGN, TYPE_SIZE_UNIT, and va_list_type_node.
Definition at line 4455 of file builtins.c.
References const0_rtx, expand_expr(), EXPAND_NORMAL, TREE_SIDE_EFFECTS, and TREE_VALUE.
Definition at line 4214 of file builtins.c.
References const0_rtx, error(), expand_builtin_next_arg(), EXPAND_BUILTIN_VA_START, fold_builtin_next_arg(), stabilize_va_list(), std_expand_builtin_va_start(), TREE_CHAIN, and TREE_VALUE.
Definition at line 1735 of file builtins.c.
References emit_cmp_and_jump_insns(), emit_label(), emit_move_insn(), EQ, expand_call(), GEN_INT, gen_label_rtx(), gen_rtx_MEM(), gen_rtx_SYMBOL_REF, GET_MODE, lab, NO_DEFER_POP, OK_DEFER_POP, Pmode, TARGET_EDOM, TREE_NOTHROW, TREE_OPERAND, and word_mode.
Definition at line 3117 of file builtins.c.
References CODE_FOR_movstr, const0_rtx, emit_insn(), emit_move_insn(), end, force_operand(), force_reg(), gcc_assert, gen_lowpart, gen_reg_rtx(), insn_data::genfun, get_memory_rtx(), GET_MODE, HAVE_movstr, insn, NULL, NULL_RTX, insn_data::operand, plus_constant, Pmode, replace_equiv_address(), and XEXP.
| static rtx expand_powi | ( | rtx | x, | |
| enum machine_mode | mode, | |||
| HOST_WIDE_INT | n | |||
| ) | [static] |
Definition at line 2493 of file builtins.c.
References CONST1_RTX, expand_binop(), expand_powi_1(), HOST_WIDE_INT, memset, NULL_RTX, OPTAB_LIB_WIDEN, POWI_TABLE_SIZE, sdiv_optab, and val.
| static rtx expand_powi_1 | ( | enum machine_mode | mode, | |
| unsigned HOST_WIDE_INT | n, | |||
| rtx * | cache | |||
| ) | [static] |
Definition at line 2451 of file builtins.c.
References digit, emit_move_insn(), expand_mult(), expand_powi_1(), gen_reg_rtx(), HOST_WIDE_INT, POWI_TABLE_SIZE, POWI_WINDOW_SIZE, and target.
Definition at line 9186 of file builtins.c.
References build1, exp, fold_builtin_1(), TREE_NO_WARNING, and TREE_TYPE.
Definition at line 8853 of file builtins.c.
References BUILT_IN_MD, CASE_FLT_FN, CASE_INT_FN, COMPLEX_TYPE, dconst10, dconst2, dconste, DECL_BUILT_IN_CLASS, DECL_FUNCTION_CODE, fold_build1, gcc_target::fold_builtin, fold_builtin_abs(), fold_builtin_atan(), fold_builtin_bcopy(), fold_builtin_bitop(), fold_builtin_bzero(), fold_builtin_cabs(), fold_builtin_cbrt(), fold_builtin_ceil(), fold_builtin_classify(), fold_builtin_classify_type(), fold_builtin_constant_p(), fold_builtin_copysign(), fold_builtin_cos(), fold_builtin_expect(), fold_builtin_exponent(), fold_builtin_fabs(), fold_builtin_floor(), fold_builtin_fprintf(), fold_builtin_fputs(), fold_builtin_inf(), fold_builtin_int_roundingfn(), fold_builtin_isascii(), fold_builtin_isdigit(), fold_builtin_logarithm(), fold_builtin_memcmp(), fold_builtin_memory_chk(), fold_builtin_memory_op(), fold_builtin_memset(), fold_builtin_nan(), fold_builtin_object_size(), fold_builtin_pow(), fold_builtin_powi(), fold_builtin_printf(), fold_builtin_round(), fold_builtin_signbit(), fold_builtin_sin(), fold_builtin_snprintf_chk(), fold_builtin_sprintf(), fold_builtin_sprintf_chk(), fold_builtin_sqrt(), fold_builtin_strcat(), fold_builtin_strcat_chk(), fold_builtin_strchr(), fold_builtin_strcmp(), fold_builtin_strcpy(), fold_builtin_strcspn(), fold_builtin_strlen(), fold_builtin_strncat(), fold_builtin_strncat_chk(), fold_builtin_strncmp(), fold_builtin_strncpy(), fold_builtin_strncpy_chk(), fold_builtin_strpbrk(), fold_builtin_strrchr(), fold_builtin_strspn(), fold_builtin_strstr(), fold_builtin_stxcpy_chk(), fold_builtin_tan(), fold_builtin_toascii(), fold_builtin_trunc(), fold_builtin_unordered_cmp(), fold_fixed_mathfn(), fold_trunc_transparent_mathfn(), integer_zero_node, non_lvalue(), NULL_TREE, optimize, targetm, TREE_TYPE, TREE_VALUE, val, and validate_arglist().
Definition at line 8672 of file builtins.c.
References fold_abs_const(), fold_build1, fold_convert(), TREE_CODE, TREE_VALUE, and validate_arglist().
Definition at line 7248 of file builtins.c.
References build_real(), dconstpi, NULL_TREE, real_convert(), REAL_EXP, real_onep(), REAL_VALUE_TYPE, real_zerop(), SET_REAL_EXP, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 8148 of file builtins.c.
References build_tree_list, dest, fold_builtin_memory_op(), fold_convert(), NULL_TREE, sizetype, src, TREE_CHAIN, tree_cons, TREE_VALUE, validate_arglist(), and void_type_node.
Referenced by fold_builtin_1().
Definition at line 7453 of file builtins.c.
References build_int_cst(), CASE_INT_FN, CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO, DECL_FUNCTION_CODE, exact_log2, floor_log2, gcc_unreachable, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, lo, NULL_TREE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_TYPE, TREE_VALUE, TYPE_MODE, TYPE_PRECISION, and validate_arglist().
Definition at line 8008 of file builtins.c.
References build_tree_list, dest, fold_builtin_memset(), fold_convert(), integer_zero_node, NULL_TREE, sizetype, TREE_CHAIN, tree_cons, TREE_VALUE, validate_arglist(), and void_type_node.
Referenced by fold_builtin_1().
Definition at line 6918 of file builtins.c.
References build_function_call_expr(), build_real(), build_tree_list, builtin_save_expr(), COMPLEX_TYPE, flag_trapping_math, flag_unsafe_math_optimizations, fold_build1, fold_build2, i, mathfn_built_in(), NULL_TREE, optimize, optimize_size, r, real_arithmetic(), real_sqrt(), REAL_VALUE_TYPE, real_zerop(), TREE_CHAIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_IMAGPART, TREE_OPERAND, TREE_REAL_CST, TREE_REALPART, TREE_TYPE, TREE_VALUE, and TYPE_MODE.
Definition at line 7084 of file builtins.c.
References build_function_call_expr(), build_real(), build_tree_list, BUILTIN_CBRT_P, BUILTIN_EXPONENT_P, builtin_mathfn_code(), BUILTIN_SQRT_P, dconstthird, flag_unsafe_math_optimizations, fold_build2, mathfn_built_in(), NULL_TREE, real_arithmetic(), REAL_EXP, real_minus_onep(), real_onep(), real_value_truncate(), REAL_VALUE_TYPE, real_zerop(), SET_REAL_EXP, TREE_CHAIN, tree_cons, tree_expr_nonnegative_p(), TREE_OPERAND, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 7334 of file builtins.c.
References build_real(), flag_errno_math, fold_trunc_transparent_mathfn(), r, real_ceil(), REAL_VALUE_ISNAN, REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 8690 of file builtins.c.
References builtin_save_expr(), dconst0, DECL_NAME, error(), error_mark_node, fold_build2, gcc_unreachable, IDENTIFIER_POINTER, integer_minus_one_node, integer_one_node, integer_zero_node, MODE_HAS_INFINITIES, MODE_HAS_NANS, NULL_TREE, omit_one_operand(), r, real_compare(), real_isinf(), real_isnan(), REAL_VALUE_TYPE, TREE_CHAIN, TREE_CODE, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 6648 of file builtins.c.
References build_int_cst(), no_type_class, NULL_TREE, TREE_TYPE, TREE_VALUE, and type_to_class().
Definition at line 6563 of file builtins.c.
References AGGREGATE_TYPE_P, cfun, CONSTANT_CLASS_P, folding_initializer, integer_one_node, integer_zero_node, integer_zerop(), POINTER_TYPE_P, STRIP_NOPS, TREE_CODE, TREE_CONSTANT, TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_TYPE, and TREE_VALUE.
Definition at line 8532 of file builtins.c.
References build_function_call_expr(), build_real(), fold_build1, fold_convert(), fold_strip_sign_ops(), NULL_TREE, omit_one_operand(), operand_equal_p(), real_copysign(), REAL_VALUE_TYPE, TREE_CHAIN, TREE_CODE, tree_cons, TREE_CONSTANT_OVERFLOW, tree_expr_nonnegative_p(), TREE_REAL_CST, TREE_VALUE, and validate_arglist().
Definition at line 7196 of file builtins.c.
References args, build_function_call_expr(), build_real(), build_tree_list, dconst1, NULL_TREE, real_zerop(), TREE_CODE, TREE_OPERAND, TREE_VALUE, and validate_arglist().
Definition at line 6613 of file builtins.c.
References DECL_P, DECL_WEAK, STRIP_NOPS, TREE_CODE, TREE_INVARIANT, TREE_OPERAND, and TREE_VALUE.
| static tree fold_builtin_exponent | ( | tree | fndecl, | |
| tree | arglist, | |||
| const REAL_VALUE_TYPE * | value | |||
| ) | [static] |
Definition at line 7852 of file builtins.c.
References build_real(), builtin_mathfn_code(), c, dconst1, dconst10, dconst2, dconste, flag_unsafe_math_optimizations, fold_convert(), HOST_WIDE_INT, n, real_convert(), real_from_integer(), real_identical(), real_onep(), real_powi(), real_to_integer(), REAL_VALUE_TYPE, real_zerop(), TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_OPERAND, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 8655 of file builtins.c.
References fold_abs_const(), fold_build1, fold_convert(), TREE_CODE, TREE_VALUE, and validate_arglist().
Definition at line 7303 of file builtins.c.
References build_real(), flag_errno_math, fold_trunc_transparent_mathfn(), r, real_floor(), REAL_VALUE_ISNAN, REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
| static tree fold_builtin_fprintf | ( | tree | fndecl, | |
| tree | arglist, | |||
| bool | ignore, | |||
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 11046 of file builtins.c.
References build_function_call_expr(), build_int_cst(), build_tree_list, built_in_decls, c_getstr(), call(), fold_convert(), fp, implicit_built_in_decls, init_target_chars(), NULL, NULL_TREE, POINTER_TYPE_P, strchr, strcmp(), target_percent, target_percent_c, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, TREE_SIDE_EFFECTS, TREE_TYPE, and TREE_VALUE.
Referenced by fold_builtin_1().
Definition at line 9759 of file builtins.c.
References build_function_call_expr(), build_int_cst(), build_tree_list, built_in_decls, c_getstr(), c_strlen(), compare_tree_int(), gcc_unreachable, implicit_built_in_decls, integer_type_node, integer_zero_node, NULL, NULL_TREE, omit_one_operand(), optimize_size, p, size_one_node, TREE_CHAIN, TREE_CODE, tree_cons, TREE_VALUE, and validate_arglist().
Definition at line 6683 of file builtins.c.
References build_real(), MODE_HAS_INFINITIES, pedwarn(), real_inf(), REAL_VALUE_TYPE, and TYPE_MODE.
Definition at line 7397 of file builtins.c.
References build_int_cst_wide(), CASE_FLT_FN, DECL_FUNCTION_CODE, fold_convert(), fold_fixed_mathfn(), gcc_unreachable, HOST_WIDE_INT, int_fits_type_p(), lo, NULL_TREE, r, real_ceil(), real_floor(), real_round(), REAL_VALUE_ISINF, REAL_VALUE_ISNAN, REAL_VALUE_TO_INT, REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Referenced by fold_builtin_1().
Definition at line 8582 of file builtins.c.
References build2, build_int_cst(), fold_build2, HOST_WIDE_INT, in_gimple_form, integer_type_node, integer_zero_node, NULL_TREE, TREE_CONSTANT, TREE_VALUE, and validate_arglist().
Definition at line 8624 of file builtins.c.
References build2, build_int_cst(), fold_build2, fold_convert(), HOST_WIDE_INT, in_gimple_form, integer_type_node, NULL_TREE, TREE_CONSTANT, TREE_VALUE, unsigned_type_node, and validate_arglist().
| static tree fold_builtin_logarithm | ( | tree | fndecl, | |
| tree | arglist, | |||
| const REAL_VALUE_TYPE * | value | |||
| ) | [static] |
Definition at line 7562 of file builtins.c.
References build_function_call_expr(), build_real(), build_tree_list, BUILTIN_EXP10_P, builtin_mathfn_code(), CASE_FLT_FN, dconst0, dconst1, dconst10, dconst2, dconste, dconsthalf, dconstthird, exact_real_truncate(), exponent(), flag_unsafe_math_optimizations, fold_build2, fold_convert(), NULL_TREE, real_dconstp(), real_onep(), real_value_truncate(), REAL_VALUE_TYPE, TREE_CHAIN, TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 8270 of file builtins.c.
References build1, build_pointer_type_for_mode(), build_type_variant, c_getstr(), compare_tree_int(), fold_build2, fold_convert(), host_integerp(), integer_minus_one_node, integer_one_node, integer_type_node, integer_zero_node, integer_zerop(), len, memcmp, omit_one_operand(), omit_two_operands(), operand_equal_p(), p1, p2, ptr_mode, r, strlen(), TREE_CHAIN, tree_low_cst(), TREE_VALUE, unsigned_char_type_node, and validate_arglist().
| tree fold_builtin_memory_chk | ( | tree | fndecl, | |
| tree | arglist, | |||
| tree | maxlen, | |||
| bool | ignore, | |||
| enum built_in_function | fcode | |||
| ) |
Definition at line 10365 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, dest, fold_build2, fold_convert(), host_integerp(), integer_all_onesp(), len, NULL_TREE, omit_one_operand(), operand_equal_p(), src, TREE_CHAIN, tree_cons, tree_int_cst_lt(), TREE_TYPE, TREE_VALUE, and validate_arglist().
Referenced by ccp_fold_builtin(), and fold_builtin_1().
Definition at line 8041 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, build2, dest, fold_build1, fold_build2, fold_convert(), GET_MODE_SIZE, get_pointer_alignment(), host_integerp(), HOST_WIDE_INT, integer_zerop(), INTEGRAL_TYPE_P, len, length, omit_one_operand(), operand_equal_p(), POINTER_TYPE_P, SCALAR_FLOAT_TYPE_P, src, ssize_int, STRIP_NOPS, TREE_CHAIN, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_THIS_VOLATILE, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and var_decl_component_p().
Referenced by expand_builtin_memcpy(), expand_builtin_memmove(), expand_builtin_mempcpy(), fold_builtin_1(), and fold_builtin_bcopy().
Definition at line 7934 of file builtins.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, build2, build_int_cst_type(), c, CHAR_BIT, dest, GET_MODE_SIZE, get_pointer_alignment(), HOST_BITS_PER_WIDE_INT, host_integerp(), HOST_WIDE_INT, integer_zerop(), INTEGRAL_TYPE_P, len, length, omit_one_operand(), POINTER_TYPE_P, ret, STRIP_NOPS, TREE_CHAIN, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_THIS_VOLATILE, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and var_decl_component_p().
Referenced by fold_builtin_1(), and fold_builtin_bzero().
Definition at line 6704 of file builtins.c.
References build_real(), c_getstr(), real_nan(), REAL_VALUE_TYPE, str, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 9846 of file builtins.c.
References build_tree_list, current_function_decl, DECL_ARGUMENTS, error(), integer_zero_node, integer_zerop(), NULL, TREE_CHAIN, TREE_CODE, tree_last(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, void_type_node, and warning.
Definition at line 10305 of file builtins.c.
References build_int_cstu(), bytes, compare_tree_int(), compute_builtin_object_size(), fold_convert(), force_fit_type(), HOST_WIDE_INT, integer_minus_one_node, integer_zero_node, ptr, ret, size_type_node, SSA_NAME, STRIP_NOPS, TREE_CHAIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, tree_int_cst_sgn(), tree_low_cst(), TREE_SIDE_EFFECTS, TREE_VALUE, and validate_arglist().
Referenced by fold_builtin_1().
Definition at line 7662 of file builtins.c.
References build_function_call_expr(), build_real(), build_tree_list, BUILTIN_CBRT_P, BUILTIN_EXPONENT_P, builtin_mathfn_code(), BUILTIN_SQRT_P, c, dconst0, dconst1, dconsthalf, dconstm1, dconstthird, flag_unsafe_math_optimizations, fold_build2, fold_strip_sign_ops(), HOST_WIDE_INT, mathfn_built_in(), n, NULL_TREE, omit_one_operand(), real_from_integer(), real_identical(), real_onep(), real_powi(), real_to_integer(), real_value_truncate(), REAL_VALUE_TYPE, REAL_VALUES_EQUAL, TREE_CHAIN, TREE_CODE, tree_cons, TREE_CONSTANT_OVERFLOW, tree_expr_nonnegative_p(), TREE_OPERAND, TREE_REAL_CST, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 7803 of file builtins.c.
References build_real(), c, dconst1, fold_build2, host_integerp(), HOST_WIDE_INT, NULL_TREE, omit_one_operand(), real_onep(), real_powi(), REAL_VALUE_TYPE, TREE_CHAIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_LOW, TREE_REAL_CST, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
| static tree fold_builtin_printf | ( | tree | fndecl, | |
| tree | arglist, | |||
| bool | ignore, | |||
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 10892 of file builtins.c.
References alloca, build_function_call_expr(), build_int_cst(), build_string_literal(), build_tree_list, built_in_decls, c_getstr(), call(), fold_convert(), implicit_built_in_decls, init_target_chars(), len, memcpy, NULL, NULL_TREE, POINTER_TYPE_P, str, strchr, strcmp(), strlen(), target_newline, target_percent, target_percent_c, target_percent_s, target_percent_s_newline, TREE_CHAIN, TREE_CODE, TREE_SIDE_EFFECTS, TREE_TYPE, and TREE_VALUE.
Referenced by fold_builtin_1().
Definition at line 7365 of file builtins.c.
References build_real(), flag_errno_math, fold_trunc_transparent_mathfn(), r, real_round(), REAL_VALUE_ISNAN, REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 8495 of file builtins.c.
References build_real(), c, dconst0, fold_build2, fold_convert(), HONOR_SIGNED_ZEROS, integer_one_node, integer_zero_node, NULL_TREE, omit_one_operand(), REAL_VALUE_NEGATIVE, REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, tree_expr_nonnegative_p(), TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, and validate_arglist().
Definition at line 7179 of file builtins.c.
References NULL_TREE, real_zerop(), TREE_VALUE, and validate_arglist().
| tree fold_builtin_snprintf_chk | ( | tree | arglist, | |
| tree | maxlen, | |||
| enum built_in_function | fcode | |||
| ) |
Definition at line 10799 of file builtins.c.
References build_function_call_expr(), built_in_decls, c_getstr(), dest, host_integerp(), init_target_chars(), integer_all_onesp(), integer_zerop(), len, NULL, NULL_TREE, POINTER_TYPE_P, strchr, strcmp(), target_percent, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_TYPE, and TREE_VALUE.
Referenced by ccp_fold_builtin(), and fold_builtin_1().
Definition at line 9917 of file builtins.c.
References build2, build_function_call_expr(), build_int_cst(), build_tree_list, c_getstr(), c_strlen(), call(), dest, fold_convert(), implicit_built_in_decls, init_target_chars(), NULL, NULL_TREE, strchr, strcmp(), strlen(), target_percent, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
| static tree fold_builtin_sprintf_chk | ( | tree | arglist, | |
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 10696 of file builtins.c.
References build_function_call_expr(), build_int_cstu(), built_in_decls, c_getstr(), c_strlen(), dest, host_integerp(), init_target_chars(), integer_all_onesp(), integer_zerop(), len, NULL, NULL_TREE, POINTER_TYPE_P, size_type_node, strchr, strcmp(), strlen(), target_percent, target_percent_s, TREE_CHAIN, TREE_CODE, tree_cons, tree_int_cst_lt(), TREE_TYPE, and TREE_VALUE.
Referenced by fold_builtin_1().
Definition at line 7003 of file builtins.c.
References build1, build_function_call_expr(), build_real(), build_tree_list, BUILTIN_EXPONENT_P, builtin_mathfn_code(), BUILTIN_ROOT_P, BUILTIN_SQRT_P, dconsthalf, dconstthird, flag_errno_math, flag_trapping_math, flag_unsafe_math_optimizations, fold_build2, mathfn_built_in(), NULL_TREE, r, REAL_EXP, real_sqrt(), real_value_truncate(), REAL_VALUE_TYPE, SET_REAL_EXP, TREE_CHAIN, TREE_CODE, tree_cons, TREE_CONSTANT_OVERFLOW, tree_expr_nonnegative_p(), TREE_OPERAND, TREE_REAL_CST, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
Definition at line 9575 of file builtins.c.
References c_getstr(), dst, p, src, TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 10599 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, c_getstr(), dest, host_integerp(), integer_all_onesp(), NULL_TREE, omit_one_operand(), p, src, TREE_CHAIN, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
Referenced by fold_builtin_1().
Definition at line 9389 of file builtins.c.
References build_int_cst(), c, c_getstr(), fold_build2, fold_convert(), NULL, p1, r, s1, s2, strchr, target_char_cast(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 8337 of file builtins.c.
References build1, build_pointer_type_for_mode(), build_type_variant, c_getstr(), fold_build1, fold_convert(), i, integer_minus_one_node, integer_one_node, integer_type_node, integer_zero_node, operand_equal_p(), p1, p2, ptr_mode, strcmp(), TREE_CHAIN, TREE_VALUE, unsigned_char_type_node, and validate_arglist().
Definition at line 8180 of file builtins.c.
References build_function_call_expr(), build_tree_list, c_strlen(), dest, fold_convert(), implicit_built_in_decls, NULL_TREE, operand_equal_p(), optimize_size, size_binop(), src, ssize_int, TREE_CHAIN, tree_cons, TREE_SIDE_EFFECTS, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 9710 of file builtins.c.
References build_function_call_expr(), build_tree_list, c_getstr(), implicit_built_in_decls, integer_type_node, integer_zero_node, NULL_TREE, omit_one_operand(), p1, p2, r, s1, s2, size_int, strcspn(), TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 6660 of file builtins.c.
References c_strlen(), fold_convert(), len, NULL_TREE, size_type_node, TREE_VALUE, and validate_arglist().
Definition at line 9611 of file builtins.c.
References build_function_call_expr(), build_tree_list, c_getstr(), compare_tree_int(), dst, implicit_built_in_decls, integer_zerop(), len, NULL_TREE, omit_two_operands(), p, src, strlen(), TREE_CHAIN, TREE_CODE, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 10634 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, c_getstr(), c_strlen(), dest, host_integerp(), integer_all_onesp(), integer_zerop(), len, NULL_TREE, omit_one_operand(), p, src, TREE_CHAIN, tree_cons, tree_int_cst_lt(), TREE_TYPE, TREE_VALUE, and validate_arglist().
Referenced by fold_builtin_1().
Definition at line 8400 of file builtins.c.
References build1, build_pointer_type_for_mode(), build_type_variant, c_getstr(), fold_build1, fold_build2, fold_convert(), host_integerp(), i, integer_minus_one_node, integer_one_node, integer_type_node, integer_zero_node, integer_zerop(), len, omit_one_operand(), omit_two_operands(), operand_equal_p(), p1, p2, ptr_mode, strncmp(), TREE_CHAIN, TREE_CODE, tree_int_cst_sgn(), tree_low_cst(), TREE_VALUE, unsigned_char_type_node, and validate_arglist().
Definition at line 8222 of file builtins.c.
References build_function_call_expr(), c_strlen(), dest, fold_convert(), implicit_built_in_decls, integer_zerop(), len, omit_one_operand(), size_binop(), src, ssize_int, TREE_CHAIN, TREE_CODE, tree_int_cst_lt(), TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 10551 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, dest, host_integerp(), integer_all_onesp(), len, NULL_TREE, src, TREE_CHAIN, tree_cons, tree_int_cst_lt(), TREE_VALUE, and validate_arglist().
Referenced by ccp_fold_builtin(), and fold_builtin_1().
Definition at line 9507 of file builtins.c.
References build_function_call_expr(), build_int_cst(), build_tree_list, c_getstr(), fold_build2, fold_convert(), implicit_built_in_decls, integer_zero_node, NULL, NULL_TREE, omit_one_operand(), p1, p2, r, s1, s2, strpbrk(), TREE_CHAIN, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 9443 of file builtins.c.
References build_function_call_expr(), build_int_cst(), c, c_getstr(), fold_build2, fold_convert(), implicit_built_in_decls, integer_zerop(), NULL, p1, r, s1, s2, strrchr(), target_char_cast(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, and validate_arglist().
Definition at line 9666 of file builtins.c.
References c_getstr(), integer_type_node, integer_zero_node, omit_two_operands(), p1, p2, r, s1, s2, size_int, strspn(), TREE_CHAIN, TREE_VALUE, and validate_arglist().
Definition at line 9321 of file builtins.c.
References build_function_call_expr(), build_int_cst(), build_tree_list, c_getstr(), fold_build2, fold_convert(), implicit_built_in_decls, NULL, NULL_TREE, p1, p2, r, s1, s2, strstr(), TREE_CHAIN, tree_cons, TREE_TYPE, TREE_VALUE, and validate_arglist().
| tree fold_builtin_stxcpy_chk | ( | tree | fndecl, | |
| tree | arglist, | |||
| tree | maxlen, | |||
| bool | ignore, | |||
| enum built_in_function | fcode | |||
| ) |
Definition at line 10466 of file builtins.c.
References build_function_call_expr(), build_tree_list, built_in_decls, c_strlen(), dest, fold_convert(), host_integerp(), integer_all_onesp(), len, NULL_TREE, operand_equal_p(), size_binop(), src, ssize_int, TREE_CHAIN, tree_cons, tree_int_cst_lt(), TREE_SIDE_EFFECTS, TREE_TYPE, TREE_VALUE, and validate_arglist().
Referenced by ccp_fold_builtin(), and fold_builtin_1().
Definition at line 7221 of file builtins.c.
References builtin_mathfn_code(), flag_unsafe_math_optimizations, NULL_TREE, real_zerop(), TREE_OPERAND, TREE_VALUE, and validate_arglist().
Definition at line 8607 of file builtins.c.
References build_int_cst(), fold_build2, integer_type_node, NULL_TREE, TREE_VALUE, and validate_arglist().
Definition at line 7277 of file builtins.c.
References build_real(), fold_trunc_transparent_mathfn(), r, real_trunc(), REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TYPE_MODE, validate_arglist(), and x.
| static tree fold_builtin_unordered_cmp | ( | tree | fndecl, | |
| tree | arglist, | |||
| enum tree_code | unordered_code, | |||
| enum tree_code | ordered_code | |||
| ) | [static] |
Definition at line 8779 of file builtins.c.
References DECL_NAME, error(), error_mark_node, fold_build1, fold_build2, fold_convert(), IDENTIFIER_POINTER, integer_zero_node, MODE_HAS_NANS, NULL_TREE, omit_two_operands(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, TYPE_MODE, TYPE_PRECISION, and validate_arglist().
Definition at line 6843 of file builtins.c.
References build_function_call_expr(), build_tree_list, CASE_FLT_FN, DECL_FUNCTION_CODE, flag_errno_math, fold_build1, fold_convert(), integer_valued_real_p(), long_integer_type_node, long_long_integer_type_node, mathfn_built_in(), NULL_TREE, optimize, strip_float_extensions(), TREE_TYPE, TREE_VALUE, TYPE_PRECISION, and validate_arglist().
Definition at line 6802 of file builtins.c.
References build_function_call_expr(), build_tree_list, builtin_mathfn_code(), DECL_FUNCTION_CODE, flag_errno_math, fold_convert(), integer_valued_real_p(), mathfn_built_in(), NULL_TREE, optimize, strip_float_extensions(), TREE_TYPE, TREE_VALUE, TYPE_PRECISION, and validate_arglist().
| static rtx get_builtin_sync_mem | ( | tree | loc, | |
| enum machine_mode | mode | |||
| ) | [static] |
Definition at line 5463 of file builtins.c.
References addr(), ALIAS_SET_MEMORY_BARRIER, BIGGEST_ALIGNMENT, expand_expr(), EXPAND_SUM, gen_rtx_MEM(), get_pointer_alignment(), MEM_VOLATILE_P, NULL, Pmode, set_mem_alias_set(), set_mem_align(), and validize_mem().
Referenced by expand_builtin_compare_and_swap(), expand_builtin_lock_release(), expand_builtin_lock_test_and_set(), and expand_builtin_sync_operation().
| static enum machine_mode get_builtin_sync_mode | ( | int | fcode_diff | ) | [inline, static] |
Definition at line 5452 of file builtins.c.
References BITS_PER_UNIT, mode_for_size(), and MODE_INT.
Referenced by expand_builtin().
Definition at line 1029 of file builtins.c.
References addr(), BITS_PER_UNIT, build1, DECL_BIT_FIELD, DECL_FIELD_BIT_OFFSET, DECL_FIELD_OFFSET, expand_expr(), EXPAND_NORMAL, gcc_assert, GEN_INT, gen_rtx_MEM(), GET_CODE, host_integerp(), HOST_WIDE_INT, INTVAL, length, mem, MEM_EXPR, MEM_OFFSET, memory_address(), NULL, NULL_RTX, offset, POINTER_TYPE_P, ptr_mode, set_mem_alias_set(), set_mem_attributes(), set_mem_expr(), set_mem_offset(), set_mem_size(), size, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_TYPE, and TYPE_SIZE_UNIT.
| static int get_pointer_alignment | ( | tree | exp, | |
| unsigned int | max_align | |||
| ) | [static] |
Definition at line 231 of file builtins.c.
References align, bitpos(), BITS_PER_UNIT, CONSTANT_ALIGNMENT, CONSTANT_CLASS_P, DECL_ALIGN, DECL_P, FUNCTION_BOUNDARY, get_inner_reference(), handled_component_p(), host_integerp(), HOST_WIDE_INT, MIN, mode, offset, optimize, POINTER_TYPE_P, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_TYPE, TYPE_ALIGN, and unsigned.
| enum gimplify_status gimplify_va_arg_expr | ( | tree * | expr_p, | |
| tree * | pre_p, | |||
| tree * | post_p | |||
| ) |
Definition at line 4357 of file builtins.c.
References append_to_statement_list(), build_fold_addr_expr_with_type(), build_function_call_expr(), build_pointer_type(), dummy_object(), error(), error_mark_node, fb_lvalue, fb_rvalue, gimplify_expr(), gcc_target::gimplify_va_arg_expr, GS_ALL_DONE, GS_ERROR, GS_OK, implicit_built_in_decls, inform(), is_gimple_min_lval(), is_gimple_val(), NULL, p1, POINTER_TYPE_P, targetm, TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_MAIN_VARIANT, va_list_type_node, and warning.
Definition at line 11171 of file builtins.c.
References target_c, target_newline, target_percent, target_percent_c, target_percent_s, target_percent_s_newline, and target_s.
Referenced by expand_builtin_fprintf(), expand_builtin_printf(), expand_builtin_sprintf(), fold_builtin_fprintf(), fold_builtin_printf(), fold_builtin_snprintf_chk(), fold_builtin_sprintf(), fold_builtin_sprintf_chk(), and maybe_emit_sprintf_chk_warning().
Definition at line 6725 of file builtins.c.
References builtin_mathfn_code(), c, CASE_FLT_FN, integer_valued_real_p(), real_identical(), real_trunc(), REAL_VALUE_TYPE, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_OPERAND, TREE_REAL_CST, TREE_TYPE, and TYPE_MODE.
| tree mathfn_built_in | ( | tree | type, | |
| enum built_in_function | fn | |||
| ) |
Definition at line 1631 of file builtins.c.
References CASE_MATHFN, double_type_node, float_type_node, implicit_built_in_decls, long_double_type_node, and TYPE_MAIN_VARIANT.
| static void maybe_emit_chk_warning | ( | tree | exp, | |
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 10171 of file builtins.c.
References a, c_strlen(), EXPR_LOCATION, gcc_unreachable, get_callee_fndecl(), host_integerp(), integer_all_onesp(), len, NULL_TREE, TREE_CHAIN, tree_int_cst_lt(), TREE_OPERAND, TREE_VALUE, and warning.
Referenced by expand_builtin().
| static void maybe_emit_sprintf_chk_warning | ( | tree | exp, | |
| enum built_in_function | fcode | |||
| ) | [static] |
Definition at line 10237 of file builtins.c.
References build_int_cstu(), c_getstr(), c_strlen(), dest, EXPR_LOCATION, get_callee_fndecl(), host_integerp(), init_target_chars(), integer_all_onesp(), len, NULL, POINTER_TYPE_P, size_type_node, strchr, strcmp(), strlen(), target_percent, target_percent_s, TREE_CHAIN, tree_int_cst_lt(), TREE_OPERAND, TREE_TYPE, TREE_VALUE, and warning.
Referenced by expand_builtin().
| static int powi_cost | ( | HOST_WIDE_INT | n | ) | [static] |
Definition at line 2408 of file builtins.c.
References digit, HOST_WIDE_INT, memset, powi_lookup_cost(), POWI_TABLE_SIZE, POWI_WINDOW_SIZE, and val.
| static int powi_lookup_cost | ( | unsigned HOST_WIDE_INT | n, | |
| bool * | cache | |||
| ) | [static] |
Definition at line 9281 of file builtins.c.
References decl_readonly_section(), get_base_address(), STRIP_NOPS, TREE_CODE, TREE_OPERAND, and TREE_STATIC.
Definition at line 7545 of file builtins.c.
References real_dconstp(), REAL_VALUES_EQUAL, real_zerop(), STRIP_NOPS, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_IMAGPART, TREE_REAL_CST, and TREE_REALPART.
Definition at line 5200 of file builtins.c.
References addend, AND, BITS_PER_UNIT, expand_simple_binop(), GEN_INT, gen_reg_rtx(), OPTAB_LIB_WIDEN, PLUS, Pmode, STACK_BOUNDARY, and TRAMPOLINE_ALIGNMENT.
Definition at line 4149 of file builtins.c.
References build_fold_addr_expr_with_type(), build_fold_indirect_ref(), build_pointer_type(), fold_build1, p1, pt, save_expr(), TREE_CODE, TREE_SIDE_EFFECTS, TREE_TYPE, and va_list_type_node.
Definition at line 4200 of file builtins.c.
References build(), build2, const0_rtx, expand_expr(), EXPAND_NORMAL, make_tree(), ptr_type_node, TREE_SIDE_EFFECTS, and TREE_TYPE.
Definition at line 4246 of file builtins.c.
References addr(), BITS_PER_UNIT, build2, build3, build_pointer_type(), build_va_arg_indirect_ref(), build_variant_type_copy(), fb_rvalue, fold(), fold_build2, fold_build3, fold_convert(), FUNCTION_ARG_BOUNDARY, gcc_unreachable, get_initialized_tmp_var(), gimplify_and_add(), gimplify_expr(), HOST_WIDE_INT, integer_zerop(), is_gimple_val(), NULL, PAD_VARARGS_DOWN, PARM_BOUNDARY, pass_by_reference(), round_up(), size_binop(), size_in_bytes(), size_int, size_zero_node, sizetype, TREE_TYPE, TYPE_ALIGN, TYPE_MODE, and TYPE_SIZE.
| static int target_char_cast | ( | tree | cst, | |
| char * | p | |||
| ) | [static] |
Definition at line 492 of file builtins.c.
References CHAR_TYPE_SIZE, HOST_BITS_PER_CHAR, HOST_BITS_PER_WIDE_INT, host_integerp(), HOST_WIDE_INT, tree_low_cst(), and val.
| static enum type_class type_to_class | ( | tree | type | ) | [static] |
Definition at line 1583 of file builtins.c.
References array_type_class, boolean_type_class, COMPLEX_TYPE, complex_type_class, enumeral_type_class, function_type_class, integer_type_class, lang_type_class, method_type_class, no_type_class, offset_type_class, pointer_type_class, real_type_class, record_type_class, reference_type_class, string_type_class, TREE_CODE, TYPE_STRING_FLAG, union_type_class, and void_type_class.
| static int validate_arglist | ( | tree | arglist, | |
| ... | ||||
| ) | [static] |
Definition at line 9216 of file builtins.c.
References end, POINTER_TYPE_P, TREE_CHAIN, TREE_CODE, TREE_TYPE, TREE_VALUE, va_arg, va_end, and va_start.
Definition at line 7922 of file builtins.c.
References handled_component_p(), SSA_VAR_P, and TREE_OPERAND.
Referenced by fold_builtin_memory_op(), and fold_builtin_memset().
enum machine_mode apply_args_mode[FIRST_PSEUDO_REGISTER] [static] |
Definition at line 1143 of file builtins.c.
int apply_args_reg_offset[FIRST_PSEUDO_REGISTER] [static] |
Definition at line 1156 of file builtins.c.
enum machine_mode apply_result_mode[FIRST_PSEUDO_REGISTER] [static] |
Definition at line 1150 of file builtins.c.
| const char* const built_in_class_names[4] = {"NOT_BUILT_IN", "BUILT_IN_FRONTEND", "BUILT_IN_MD", "BUILT_IN_NORMAL"} |
Definition at line 57 of file builtins.c.
| tree built_in_decls[(int) END_BUILTINS] |
Definition at line 68 of file builtins.c.
| const char* built_in_names[(int) END_BUILTINS] |
Definition at line 60 of file builtins.c.
| tree implicit_built_in_decls[(int) END_BUILTINS] |
Definition at line 72 of file builtins.c.
const unsigned char powi_table[POWI_TABLE_SIZE] [static] |
Definition at line 2348 of file builtins.c.
HOST_WIDE_INT setjmp_alias_set = -1 [static] |
Definition at line 615 of file builtins.c.
unsigned HOST_WIDE_INT target_c [static] |
unsigned HOST_WIDE_INT target_newline [static] |
Definition at line 200 of file builtins.c.
Referenced by expand_builtin_printf(), fold_builtin_printf(), and init_target_chars().
unsigned HOST_WIDE_INT target_percent [static] |
Definition at line 201 of file builtins.c.
Referenced by expand_builtin_fprintf(), expand_builtin_printf(), expand_builtin_sprintf(), fold_builtin_fprintf(), fold_builtin_printf(), fold_builtin_snprintf_chk(), fold_builtin_sprintf(), fold_builtin_sprintf_chk(), init_target_chars(), and maybe_emit_sprintf_chk_warning().
char target_percent_c[3] [static] |
Definition at line 204 of file builtins.c.
Referenced by expand_builtin_fprintf(), expand_builtin_printf(), fold_builtin_fprintf(), fold_builtin_printf(), and init_target_chars().
char target_percent_s[3] [static] |
Definition at line 205 of file builtins.c.
Referenced by expand_builtin_fprintf(), expand_builtin_sprintf(), fold_builtin_fprintf(), fold_builtin_printf(), fold_builtin_snprintf_chk(), fold_builtin_sprintf(), fold_builtin_sprintf_chk(), init_target_chars(), and maybe_emit_sprintf_chk_warning().
char target_percent_s_newline[4] [static] |
Definition at line 206 of file builtins.c.
Referenced by expand_builtin_printf(), fold_builtin_printf(), and init_target_chars().
unsigned HOST_WIDE_INT target_s [static] |
1.5.6