#include "config.h"#include "system.h"#include "rtl.h"#include "tree.h"#include "regs.h"#include "hard-reg-set.h"#include "real.h"#include "insn-config.h"#include "conditions.h"#include "output.h"#include "insn-attr.h"#include "flags.h"#include "recog.h"#include "expr.h"#include "optabs.h"#include "except.h"#include "function.h"#include "ggc.h"#include "basic-block.h"#include "toplev.h"#include "sched-int.h"#include "timevar.h"#include "target.h"#include "target-def.h"#include "tm_p.h"#include "langhooks.h"#include "gt-ia64.h"

Go to the source code of this file.
| #define AR_UNAT_BIT_0 (FIRST_PSEUDO_REGISTER + 3) |
| #define def_builtin | ( | name, | |||
| type, | |||||
| code | ) | builtin_function ((name), (type), (code), BUILT_IN_MD, NULL, NULL_TREE) |
| #define NR_BUNDLES 10 |
| #define NR_PACKETS (NR_BUNDLES * NR_BUNDLES) |
Definition at line 5519 of file ia64.c.
Referenced by find_best_packet(), ia64_sched_init(), ia64_sched_reorder2(), and schedule_stop().
| #define REG_AR_CFM (FIRST_PSEUDO_REGISTER + 1) |
| #define REG_RP (BR_REG (0)) |
| #define REG_VOLATILE (FIRST_PSEUDO_REGISTER + 2) |
Definition at line 4390 of file ia64.c.
Referenced by group_barrier_needed(), group_barrier_needed_p(), and rtx_needs_barrier().
| #define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true |
| #define TARGET_ASM_FUNCTION_END_PROLOGUE ia64_output_function_end_prologue |
| #define TARGET_ASM_FUNCTION_EPILOGUE ia64_output_function_epilogue |
| #define TARGET_ASM_FUNCTION_PROLOGUE ia64_output_function_prologue |
Definition at line 1018 of file ia64.c.
References basereg_operand(), GET_MODE, and strcmp().
Referenced by recog_11(), and recog_4().
| int adjusted_comparison_operator | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int ar_ccv_reg_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 914 of file ia64.c.
References AR_CCV_REGNUM, GET_CODE, GET_MODE, REG, and REGNO.
Referenced by recog_11(), and recog_5().
| int ar_lc_reg_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int ar_pfs_reg_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int basereg_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 978 of file ia64.c.
References GET_CODE, REG_POINTER, register_operand(), and SUBREG_REG.
Referenced by addp4_optimize_ok(), recog_11(), and recog_4().
| int call_operand | ( | rtx | op, | |
| enum machine_mode mode | ||||
| ) |
| int condop_operator | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 5913 of file ia64.c.
References abort, fprintf(), i, ia64_safe_type(), insn_matches_slot(), memcpy, packet, sched_data, ia64_packet::t, and TYPE_L.
Referenced by ia64_internal_sched_reorder(), ia64_sched_reorder2(), maybe_rotate(), and schedule_stop().
| int destination_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int destination_tfmode_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 2250 of file ia64.c.
References emit_insn(), GEN_INT, insn, iter, and spill_restore_mem().
Referenced by ia64_expand_epilogue().
Definition at line 2205 of file ia64.c.
References base, current_frame_info, emit_insn(), frame_pointer_needed, GEN_INT, gen_rtx_EXPR_LIST, gen_rtx_MEM(), gen_rtx_SET, GET_MODE, hard_frame_pointer_rtx, HOST_WIDE_INT, insn, iter, mem, plus_constant, REG_FRAME_RELATED_EXPR, REG_NOTES, RTX_FRAME_RELATED_P, spill_restore_mem(), stack_pointer_rtx, and arc_frame_info::total_size.
Referenced by ia64_expand_prologue().
Definition at line 6330 of file ia64.c.
References fprintf(), i, ia64_safe_type(), insn, INSN_UID, sched_data, and ia64_packet::t.
Referenced by ia64_internal_sched_reorder(), ia64_sched_reorder2(), and schedule_stop().
Definition at line 5285 of file ia64.c.
References CODE_FOR_insn_group_barrier, emit_insn_after(), emit_insn_before(), gen_insn_group_barrier(), GEN_INT, GET_CODE, group_barrier_needed_p(), init_insn_group_barriers(), insn, INSN_P, last, NEXT_INSN, PATTERN, prev_active_insn(), and recog_memoized.
Referenced by ia64_output_mi_thunk(), and ia64_reorg().
Definition at line 5227 of file ia64.c.
References emit_insn_before(), fprintf(), gen_insn_group_barrier(), GEN_INT, GET_CODE, group_barrier_needed_p(), init_insn_group_barriers(), insn, INSN_P, INSN_UID, last_label, NEXT_INSN, NOTE_INSN_BASIC_BLOCK, NOTE_LINE_NUMBER, PATTERN, UNSPECV_INSN_GROUP_BARRIER, and XINT.
Referenced by ia64_reorg().
Definition at line 6926 of file ia64.c.
References a, b, emit_insn_after(), emit_insn_before(), basic_block_def::end, find_reg_note(), FOR_EACH_BB_REVERSE, gen_pred_rel_mutex(), gen_rtx_REG(), gen_safe_across_calls_all(), gen_safe_across_calls_normal(), GET_CODE, basic_block_def::global_live_at_start, basic_block_def::head, insn, n, NEXT_INSN, NOTE_INSN_BASIC_BLOCK, NOTE_LINE_NUMBER, NULL_RTX, p, PATTERN, PR_REG, r, REG_NORETURN, and REGNO_REG_SET_P.
Referenced by ia64_reorg().
Definition at line 1579 of file ia64.c.
References call_used_regs, fprintf(), fputc(), fputs(), and PR_REG.
Referenced by ia64_file_start(), output_270(), and output_272().
Definition at line 5368 of file ia64.c.
References abort, asm_noperands(), cond, COND_EXEC_CODE, COND_EXEC_TEST, emit_insn_before(), errata_find_address_regs(), for_each_rtx(), gen_insn_group_barrier(), GEN_INT, gen_nop(), GENERAL_REGNO_P, get_attr_type(), GET_CODE, GET_RTX_CLASS, group::gr_reg_conditionally_set, i, last_group, MEM, memset, MINUS, NULL, group::p_reg_set, PATTERN, PLUS, PR_REGNO_P, REG_P, REGNO, SET, SET_DEST, SET_HARD_REG_BIT, SET_SRC, shladd_operand(), TEST_HARD_REG_BIT, TYPE_A, TYPE_F, TYPE_M, USE, XEXP, XVECEXP, and XVECLEN.
Referenced by fixup_errata().
Definition at line 5343 of file ia64.c.
References GET_CODE, group::gr_reg_conditionally_set, last_group, MEM, REG, REGNO, TEST_HARD_REG_BIT, x, and XEXP.
Referenced by errata_emit_nops().
| int fetchadd_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 783 of file ia64.c.
References GET_CODE, and INTVAL.
Referenced by ia64_expand_atomic_op(), ia64_expand_fetch_and_op(), recog_11(), and recog_5().
| static int find_best_insn | ( | rtx * | ready, | |
| enum attr_type * | types, | |||
| int | n_ready, | |||
| const struct ia64_packet * | p, | |||
| int | slot | |||
| ) | [static] |
Definition at line 6145 of file ia64.c.
References ia64_safe_itanium_requires_unit0(), insn, insn_matches_slot(), INSN_PRIORITY, and TYPE_A.
Referenced by find_best_packet(), and itanium_reorder().
| static void find_best_packet | ( | int * | pbest, | |
| const struct ia64_packet ** | ppacket, | |||
| rtx * | ready, | |||
| enum attr_type * | types, | |||
| int | n_ready | |||
| ) | [static] |
Definition at line 6188 of file ia64.c.
References find_best_insn(), first, first_slot, get_split(), i, memcpy, NR_PACKETS, NULL, p, packet_matches_p(), packets, sched_data, split, ia64_packet::t, and TYPE_B.
Referenced by itanium_reorder().
| static int find_gr_spill | ( | int | try_locals | ) | [static] |
Definition at line 1618 of file ia64.c.
References call_used_regs, current_frame_info, current_function_is_leaf, fixed_regs, frame_pointer_needed, global_regs, GR_REG, LOC_REG, and regs_ever_live.
Referenced by ia64_compute_frame_size().
Definition at line 5879 of file ia64.c.
References abort, b, fprintf(), gen_bundle_selector(), GEN_INT, i, ia64_emit_insn_before(), insn, INSN_UID, bundle::name, p, sched_data, ia64_packet::t1, and ia64_packet::t2.
Referenced by rotate_one_bundle(), and rotate_two_bundles().
Definition at line 2084 of file ia64.c.
References current_frame_info.
Referenced by ia64_expand_epilogue(), and ia64_expand_prologue().
| static void fix_range | ( | char * | const_str | ) | const [static] |
Definition at line 4228 of file ia64.c.
References alloca, call_used_regs, comma, decode_reg_name(), first, fixed_regs, i, last, memcpy, str, strchr, strlen(), and warning.
Referenced by ia64_handle_option(), ia64_override_options(), override_options(), and pa_handle_option().
| static void fixup_errata | ( | ) | [static] |
Definition at line 5442 of file ia64.c.
References errata_emit_nops(), get_insns(), ia64_safe_type(), insn, INSN_P, last_group, memset, NEXT_INSN, TARGET_B_STEP, and TYPE_S.
Referenced by ia64_reorg().
| int fr_nonimmediate_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 597 of file ia64.c.
References FIRST_PSEUDO_REGISTER, FR_REGNO_P, GET_CODE, nonimmediate_operand(), REG, REGNO, and SUBREG_REG.
| int fr_reg_or_fp01_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 797 of file ia64.c.
References CONST_DOUBLE_OK_FOR_G, fr_register_operand(), and GET_CODE.
Referenced by recog_1(), recog_10(), recog_3(), recog_4(), recog_5(), recog_8(), recog_9(), and tfreg_or_fp01_operand().
| int fr_register_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 537 of file ia64.c.
References FIRST_PSEUDO_REGISTER, FR_REGNO_P, GET_CODE, REG, register_operand(), REGNO, and SUBREG_REG.
Referenced by fr_reg_or_fp01_operand(), recog_10(), recog_11(), recog_2(), recog_3(), recog_4(), recog_5(), recog_6(), recog_7(), recog_8(), recog_9(), and split_2().
| int function_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 437 of file ia64.c.
References GET_CODE, and SYMBOL_REF_FLAG.
Referenced by ia64_legitimate_constant_p(), recog_2(), and recog_7().
Definition at line 2284 of file ia64.c.
References gen_fr_restore().
Referenced by ia64_expand_epilogue().
Definition at line 2276 of file ia64.c.
References gen_fr_spill().
Referenced by ia64_expand_prologue().
Definition at line 2268 of file ia64.c.
References gen_movdi().
Referenced by ia64_expand_epilogue(), and ia64_expand_prologue().
Definition at line 6986 of file ia64.c.
References abort, gen_nop_b(), gen_nop_f(), gen_nop_i(), gen_nop_m(), gen_nop_x(), TYPE_B, TYPE_F, TYPE_I, TYPE_M, and TYPE_X.
Referenced by ia64_emit_nops(), and nop_cycles_until().
| int general_tfmode_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| const char* get_bundle_name | ( | int | b | ) |
Definition at line 5557 of file ia64.c.
References bundle::name.
Referenced by output_253(), and output_255().
| static int get_split | ( | struct ia64_packet * | p, | |
| int | first | |||
| ) | const [static] |
Definition at line 6131 of file ia64.c.
References itanium_split_issue().
Referenced by find_best_packet(), ia64_sched_reorder2(), and schedule_stop().
| int got_symbolic_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 343 of file ia64.c.
References CONST, GET_CODE, INTVAL, PLUS, rtx_equal_function_value_matters, TARGET_AUTO_PIC, TARGET_NO_PIC, and XEXP.
| int gr_nonimmediate_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 577 of file ia64.c.
References FIRST_PSEUDO_REGISTER, GENERAL_REGNO_P, GET_CODE, nonimmediate_operand(), REG, REGNO, and SUBREG_REG.
| int gr_reg_or_0_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 637 of file ia64.c.
References const0_rtx, and gr_register_operand().
Referenced by recog_1(), recog_10(), recog_11(), recog_2(), and recog_9().
| int gr_reg_or_14bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 724 of file ia64.c.
References CONST_OK_FOR_I, GET_CODE, gr_register_operand(), and INTVAL.
Referenced by recog_11(), recog_4(), and split_2().
| int gr_reg_or_22bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 736 of file ia64.c.
References CONST_OK_FOR_J, GET_CODE, gr_register_operand(), and INTVAL.
Referenced by recog_11(), recog_2(), recog_4(), recog_5(), recog_8(), and split_1().
| int gr_reg_or_5bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int gr_reg_or_6bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 659 of file ia64.c.
References CONST_OK_FOR_M, GET_CODE, gr_register_operand(), and INTVAL.
| int gr_reg_or_8bit_adjusted_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 696 of file ia64.c.
References CONST_OK_FOR_L, GET_CODE, gr_register_operand(), and INTVAL.
| int gr_reg_or_8bit_and_adjusted_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 711 of file ia64.c.
References CONST_OK_FOR_K, CONST_OK_FOR_L, GET_CODE, gr_register_operand(), and INTVAL.
| int gr_reg_or_8bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 671 of file ia64.c.
References CONST_OK_FOR_K, GET_CODE, gr_register_operand(), and INTVAL.
Referenced by recog_1(), recog_10(), recog_2(), recog_4(), recog_8(), and recog_9().
| int gr_register_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 517 of file ia64.c.
References FIRST_PSEUDO_REGISTER, GENERAL_REGNO_P, GET_CODE, REG, register_operand(), REGNO, and SUBREG_REG.
Referenced by gr_reg_or_0_operand(), gr_reg_or_14bit_operand(), gr_reg_or_22bit_operand(), gr_reg_or_5bit_operand(), gr_reg_or_6bit_operand(), gr_reg_or_8bit_adjusted_operand(), gr_reg_or_8bit_and_adjusted_operand(), gr_reg_or_8bit_operand(), recog_1(), recog_10(), recog_11(), recog_2(), recog_4(), recog_5(), recog_7(), recog_8(), recog_9(), and split_1().
| int grfr_nonimmediate_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 617 of file ia64.c.
References FIRST_PSEUDO_REGISTER, FR_REGNO_P, GENERAL_REGNO_P, GET_CODE, nonimmediate_operand(), REG, REGNO, and SUBREG_REG.
| int grfr_reg_or_8bit_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 683 of file ia64.c.
References CONST_OK_FOR_K, GET_CODE, grfr_register_operand(), and INTVAL.
| int grfr_register_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 557 of file ia64.c.
References FIRST_PSEUDO_REGISTER, FR_REGNO_P, GENERAL_REGNO_P, GET_CODE, REG, register_operand(), REGNO, and SUBREG_REG.
Referenced by grfr_reg_or_8bit_operand(), recog_10(), recog_2(), recog_4(), recog_5(), recog_7(), recog_8(), and recog_9().
| static int group_barrier_needed_p | ( | rtx | insn | ) | [static] |
Definition at line 5092 of file ia64.c.
References abort, CODE_FOR_doloop_end_internal, CODE_FOR_epilogue_deallocate_stack, CODE_FOR_pred_rel_mutex, CODE_FOR_prologue_allocate_stack, CODE_FOR_prologue_use, GET_CODE, reg_flags::is_branch, reg_flags::is_sibcall, memset, PATTERN, prev_active_insn(), recog_memoized, REG_VOLATILE, rtx_needs_barrier(), rws_access_regno(), rws_insn, SIBLING_CALL_P, USE, and XVECEXP.
Referenced by emit_all_insn_group_barriers(), emit_insn_group_barriers(), final_emit_insn_group_barriers(), ia64_internal_sched_reorder(), ia64_variable_issue(), and safe_group_barrier_needed_p().
| static GTY | ( | () | ) | [static] |
| static enum machine_mode hfa_element_mode | ( | tree | type, | |
| int | nested | |||
| ) | [static] |
Definition at line 3198 of file ia64.c.
References BITS_PER_UNIT, COMPLEX_TYPE, GET_MODE_CLASS, GET_MODE_UNIT_SIZE, INTEL_EXTENDED_IEEE_FORMAT, mode, MODE_COMPLEX_FLOAT, MODE_FLOAT, mode_for_size(), TREE_CHAIN, TREE_CODE, TREE_TYPE, TYPE_FIELDS, and TYPE_MODE.
Referenced by hfa_element_mode(), ia64_function_arg(), ia64_function_arg_advance(), ia64_function_value(), and ia64_return_in_memory().
Definition at line 5652 of file ia64.c.
References abort, addr(), GET_CODE, ia64_safe_itanium_class(), ia64_safe_type(), ia64_single_set(), ITANIUM_CLASS_FCVTFX, ITANIUM_CLASS_FMAC, ITANIUM_CLASS_FMISC, ITANIUM_CLASS_IALU, ITANIUM_CLASS_ILOG, ITANIUM_CLASS_LD, ITANIUM_CLASS_MMMUL, ITANIUM_CLASS_MMSHF, ITANIUM_CLASS_MMSHFI, ITANIUM_CLASS_ST, ITANIUM_CLASS_STF, ITANIUM_CLASS_XMPY, MEM, PATTERN, PR_REG, REG, REG_DEP_ANTI, REG_DEP_OUTPUT, REG_NOTE_KIND, reg_overlap_mentioned_p(), REGNO, SET_DEST, SET_SRC, src, SUBREG_REG, TYPE_F, TYPE_S, USE, XEXP, XVECEXP, and XVECLEN.
Definition at line 4183 of file ia64.c.
References gcc_target::asm_out, DECL_ASSEMBLER_NAME, gcc_target::asm_out::globalize_label, ia64_hpux_add_extern_decl(), strcmp(), strstr(), TARGET_GNU_AS, TARGET_HPUX_LD, TREE_CODE, and TREE_SYMBOL_REFERENCED.
Definition at line 2976 of file ia64.c.
References asm_out_file, default_assemble_integer(), fputs(), GET_CODE, output_addr_const(), SYMBOL_REF_FLAG, TARGET_AUTO_PIC, TARGET_ILP32, and TARGET_NO_PIC.
| static void ia64_compute_frame_size | ( | HOST_WIDE_INT | size | ) | [static] |
Definition at line 1711 of file ia64.c.
References AR_LC_REGNUM, AR_PFS_REGNUM, AR_UNAT_REGNUM, BR_REG, call_used_regs, cfun, CLEAR_HARD_REG_SET, COPY_HARD_REG_SET, current_frame_info, current_function_calls_setjmp, current_function_decl, current_function_is_leaf, current_function_outgoing_args_size, current_function_pretend_args_size, current_function_profile, diddle_return_value(), find_gr_spill(), FR_REG, frame_pointer_needed, GR_REG, HARD_REG_SET, HOST_WIDE_INT, i, IA64_STACK_ALIGN, IN_REG, arc_frame_info::initialized, LOC_REG, lookup_attribute(), mark_reg_gr_used_mask(), MAX, memset, NULL, OUT_REG, PR_REG, regs_ever_live, reload_completed, SET_HARD_REG_BIT, arc_frame_info::total_size, TREE_TYPE, and TYPE_ATTRIBUTES.
Referenced by ia64_direct_return(), ia64_expand_epilogue(), ia64_expand_prologue(), and ia64_initial_elimination_offset().
| int ia64_dbx_register_number | ( | int | regno | ) |
Definition at line 3112 of file ia64.c.
Referenced by ia64_output_function_prologue(), and process_set().
Definition at line 1033 of file ia64.c.
References exact_log2, HOST_WIDE_INT, INTVAL, and shift.
Referenced by output_471(), output_475(), output_56(), output_58(), recog_2(), and recog_9().
| int ia64_direct_return | ( | void | ) |
Definition at line 2922 of file ia64.c.
References current_frame_info, frame_pointer_needed, get_frame_size(), ia64_compute_frame_size(), reload_completed, and arc_frame_info::total_size.
Referenced by recog(), recog_11(), and recog_4().
Definition at line 5864 of file ia64.c.
References emit_insn_before().
Referenced by bundling(), finish_last_head(), ia64_add_bundle_selector_before(), and ia64_variable_issue().
| static void ia64_emit_nops | ( | ) | [static] |
Definition at line 7010 of file ia64.c.
References asm_noperands(), b, const0_rtx, emit_insn_before(), gen_nop_type(), GET_CODE, get_insns(), ia64_safe_type(), insn, INSN_P, INTVAL, NEXT_INSN, PATTERN, bundle::t, TYPE_A, TYPE_I, TYPE_M, TYPE_UNKNOWN, UNSPEC_BUNDLE_SELECTOR, UNSPECV_INSN_GROUP_BARRIER, USE, XINT, and XVECEXP.
Referenced by ia64_reorg().
Definition at line 7266 of file ia64.c.
References abort, alloca, gcc_target::binds_local_p, DECL_RTL, DECL_THREAD_LOCAL, decl_tls_model(), ENCODE_SECTION_INFO_CHAR, GET_CODE, ggc_alloc_string(), ggc_strdup, ia64_in_small_data_p(), len, MEM, memcpy, strlen(), SYMBOL_REF_FLAG, TREE_CODE, XEXP, and XSTR.
| int ia64_epilogue_uses | ( | int | regno | ) |
Definition at line 8059 of file ia64.c.
References add_optab, and_optab, const0_rtx, DECL_FUNCTION_CODE, emit_insn(), gen_bsp_value(), gen_flushrs(), gen_mf(), gen_reg_rtx(), IA64_BUILTIN_ADD_AND_FETCH_DI, IA64_BUILTIN_ADD_AND_FETCH_SI, IA64_BUILTIN_AND_AND_FETCH_DI, IA64_BUILTIN_AND_AND_FETCH_SI, IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI, IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI, IA64_BUILTIN_BSP, IA64_BUILTIN_FETCH_AND_ADD_DI, IA64_BUILTIN_FETCH_AND_ADD_SI, IA64_BUILTIN_FETCH_AND_AND_DI, IA64_BUILTIN_FETCH_AND_AND_SI, IA64_BUILTIN_FETCH_AND_NAND_DI, IA64_BUILTIN_FETCH_AND_NAND_SI, IA64_BUILTIN_FETCH_AND_OR_DI, IA64_BUILTIN_FETCH_AND_OR_SI, IA64_BUILTIN_FETCH_AND_SUB_DI, IA64_BUILTIN_FETCH_AND_SUB_SI, IA64_BUILTIN_FETCH_AND_XOR_DI, IA64_BUILTIN_FETCH_AND_XOR_SI, IA64_BUILTIN_FLUSHRS, IA64_BUILTIN_LOCK_RELEASE_DI, IA64_BUILTIN_LOCK_RELEASE_SI, IA64_BUILTIN_LOCK_TEST_AND_SET_DI, IA64_BUILTIN_LOCK_TEST_AND_SET_SI, IA64_BUILTIN_NAND_AND_FETCH_DI, IA64_BUILTIN_NAND_AND_FETCH_SI, IA64_BUILTIN_OR_AND_FETCH_DI, IA64_BUILTIN_OR_AND_FETCH_SI, IA64_BUILTIN_SUB_AND_FETCH_DI, IA64_BUILTIN_SUB_AND_FETCH_SI, IA64_BUILTIN_SYNCHRONIZE, IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI, IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI, IA64_BUILTIN_XOR_AND_FETCH_DI, IA64_BUILTIN_XOR_AND_FETCH_SI, ia64_expand_compare_and_swap(), ia64_expand_fetch_and_op(), ia64_expand_lock_release(), ia64_expand_lock_test_and_set(), ia64_expand_op_and_fetch(), ior_optab, mode, NULL_RTX, one_cmpl_optab, register_operand(), sub_optab, TREE_OPERAND, and xor_optab.
Definition at line 1434 of file ia64.c.
References CALL_INSN_FUNCTION_USAGE, emit_call_insn(), gen_call_gp(), gen_call_nogp(), gen_call_value_gp(), gen_call_value_nogp(), gen_rtx_REG(), gen_sibcall_gp(), gen_sibcall_nogp(), insn, pic_offset_table_rtx, R_BR, TARGET_AUTO_PIC, TARGET_NO_PIC, use_reg(), and XEXP.
Referenced by gen_call(), gen_call_value(), gen_sibcall(), gen_sibcall_value(), and ia64_output_mi_thunk().
| rtx ia64_expand_compare | ( | enum rtx_code | code, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 1405 of file ia64.c.
References abort, const0_rtx, emit_insn(), EQ, gen_reg_rtx(), gen_rtx_fmt_ee(), gen_rtx_SET, GET_MODE, ia64_compare_op0, ia64_compare_op1, and NE.
Referenced by gen_beq(), gen_bge(), gen_bgeu(), gen_bgt(), gen_bgtu(), gen_ble(), gen_bleu(), gen_blt(), gen_bltu(), gen_bne(), gen_bordered(), gen_bunordered(), gen_conditional_trap(), gen_seq(), gen_sge(), gen_sgeu(), gen_sgt(), gen_sgtu(), gen_sle(), gen_sleu(), gen_slt(), gen_sltu(), gen_sne(), gen_sordered(), and gen_sunordered().
| static rtx ia64_expand_compare_and_swap | ( | enum machine_mode | mode, | |
| int | boolp, | |||
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 7946 of file ia64.c.
References AR_CCV_REGNUM, ccv, copy_to_mode_reg(), emit_insn(), emit_move_insn(), emit_store_flag_force(), EQ, expand_expr(), force_reg(), gen_cmpxchg_acq_di(), gen_cmpxchg_acq_si(), gen_mf(), gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_REG(), gen_zero_extendsidi2(), insn, mem, MEM_VOLATILE_P, NULL_RTX, ptr_mode, register_operand(), tmp, TREE_CHAIN, and TREE_VALUE.
Referenced by ia64_expand_builtin().
| void ia64_expand_epilogue | ( | int | sibcall_p | ) |
Definition at line 2671 of file ia64.c.
References abort, AR_LC_REGNUM, AR_PFS_REGNUM, AR_UNAT_REGNUM, BR_REG, cfun, CONST_OK_FOR_I, current_frame_info, do_restore(), emit_insn(), emit_jump_insn(), emit_move_insn(), finish_spill_pointers(), fp, FR_REG, frame_pointer_needed, gen_adddi3(), gen_alloc(), gen_blockage(), gen_fr_restore_x(), gen_gr_restore(), GEN_INT, gen_movdi_x(), gen_return_internal(), gen_rtx_EXPR_LIST, gen_rtx_PLUS, gen_rtx_REG(), gen_rtx_SET, gen_set_bsp(), GET_CODE, get_frame_size(), GR_REG, HARD_FRAME_POINTER_REGNUM, hard_frame_pointer_rtx, ia64_compute_frame_size(), insn, next_scratch_gr_reg(), NULL_RTX, offset, PR_REG, REG_FRAME_RELATED_EXPR, REG_NOTES, RTX_FRAME_RELATED_P, setup_spill_pointers(), stack_pointer_rtx, TEST_HARD_REG_BIT, and arc_frame_info::total_size.
Referenced by gen_epilogue(), and gen_sibcall_epilogue().
| static rtx ia64_expand_fetch_and_op | ( | optab | binoptab, | |
| enum machine_mode | mode, | |||
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 7797 of file ia64.c.
References add_optab, and_optab, AR_CCV_REGNUM, ccv, convert_memory_address(), emit_cmp_and_jump_insns(), emit_insn(), emit_label(), emit_move_insn(), expand_binop(), expand_expr(), expand_unop(), fetchadd_operand(), force_reg(), gen_cmpxchg_acq_di(), gen_cmpxchg_acq_si(), gen_fetchadd_acq_di(), gen_fetchadd_acq_si(), gen_label_rtx(), gen_mf(), gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_REG(), GET_MODE, insn, mem, MEM_VOLATILE_P, NE, NULL, NULL_RTX, one_cmpl_optab, OPTAB_WIDEN, Pmode, register_operand(), ret, tmp, TREE_CHAIN, and TREE_VALUE.
Referenced by ia64_expand_builtin().
Definition at line 1050 of file ia64.c.
References abort, CONST, convert_memory_address(), convert_to_mode(), emit_insn(), emit_move_insn(), gen_adddi3(), GEN_INT, gen_load_fptr(), gen_load_gprel(), gen_load_gprel64(), gen_load_symptr(), gen_reg_rtx(), gen_rtx_EXPR_LIST, GET_CODE, GET_MODE, HOST_WIDE_INT, insn, INTVAL, lo, no_new_pseudos, PLUS, plus_constant, Pmode, ptr_mode, REG_EQUAL, REG_NOTES, register_operand(), sdata_symbolic_operand(), sym, SYMBOL_REF_FLAG, TARGET_AUTO_PIC, tls_symbolic_operand(), and XEXP.
Referenced by gen_split_279(), gen_split_281(), gen_split_282(), gen_split_283(), gen_split_284(), and ia64_expand_move().
| static rtx ia64_expand_lock_release | ( | enum machine_mode | mode, | |
| tree | arglist, | |||
| target | ||||
| ) | [static] |
Definition at line 8039 of file ia64.c.
References const0_rtx, emit_move_insn(), expand_expr(), force_reg(), gen_rtx_MEM(), mem, MEM_VOLATILE_P, NULL_RTX, ptr_mode, and TREE_VALUE.
Referenced by ia64_expand_builtin().
| static rtx ia64_expand_lock_test_and_set | ( | enum machine_mode | mode, | |
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 8004 of file ia64.c.
References copy_to_mode_reg(), emit_insn(), expand_expr(), force_reg(), gen_reg_rtx(), gen_rtx_MEM(), gen_xchgdi(), gen_xchgsi(), insn, mem, MEM_VOLATILE_P, NULL_RTX, ptr_mode, register_operand(), ret, TREE_CHAIN, and TREE_VALUE.
Referenced by ia64_expand_builtin().
Definition at line 1143 of file ia64.c.
References abort, const0_rtx, CONSTANT_POOL_ADDRESS_P, emit_insn(), emit_libcall_block(), emit_library_call_value(), end_sequence(), force_reg(), gen_add_dtprel(), gen_add_tprel(), gen_adddi3(), gen_load_dtprel(), gen_load_ltoff_dtpmod(), gen_load_ltoff_dtprel(), gen_load_ltoff_tprel(), gen_load_tprel(), gen_movdi_symbolic(), gen_movsi_symbolic(), gen_reg_rtx(), gen_rtvec(), gen_rtx_MEM(), gen_rtx_UNSPEC, gen_tls_get_addr(), GET_CODE, get_insns(), GET_MODE, ia64_expand_load_address(), ia64_move_ok(), insns, LCT_CONST, mode, NULL_RTX, Pmode, ptr_mode, register_operand(), reload_completed, reload_in_progress, rtx_equal_function_value_matters, RTX_UNCHANGING_P, start_sequence(), STRING_POOL_ADDRESS_P, SYMBOL_REF_FLAG, symbolic_operand(), TARGET_NO_PIC, TARGET_TLS64, TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_LOCAL_EXEC, tls_symbolic_operand(), tmp, and UNSPEC_LD_BASE.
Referenced by gen_movdf(), gen_movdi(), gen_movhi(), gen_movqi(), gen_movsf(), gen_movsi(), and gen_movti().
| static rtx ia64_expand_op_and_fetch | ( | optab | binoptab, | |
| enum machine_mode | mode, | |||
| tree | arglist, | |||
| rtx | target | |||
| ) | [static] |
Definition at line 7878 of file ia64.c.
References and_optab, AR_CCV_REGNUM, ccv, convert_memory_address(), emit_cmp_and_jump_insns(), emit_insn(), emit_label(), emit_move_insn(), expand_binop(), expand_expr(), expand_unop(), force_reg(), gen_cmpxchg_acq_di(), gen_cmpxchg_acq_si(), gen_label_rtx(), gen_mf(), gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_REG(), GET_MODE, insn, mem, MEM_VOLATILE_P, NE, NULL, NULL_RTX, one_cmpl_optab, OPTAB_WIDEN, Pmode, register_operand(), ret, tmp, TREE_CHAIN, and TREE_VALUE.
Referenced by ia64_expand_builtin().
Definition at line 2314 of file ia64.c.
References abort, AR_LC_REGNUM, AR_PFS_REGNUM, AR_UNAT_REGNUM, BR_REG, cfun, const0_rtx, CONST_OK_FOR_I, current_frame_info, current_function_args_info, do_spill(), EDGE_FAKE, EDGE_FALLTHRU, emit_insn(), emit_move_insn(), EXIT_BLOCK_PTR, finish_spill_pointers(), edge::flags, FR_REG, frame_pointer_needed, gen_adddi3(), gen_alloc(), gen_blockage(), gen_fr_spill_x(), gen_gr_spill(), GEN_INT, gen_movdi_x(), gen_prologue_use(), gen_rtx_EXPR_LIST, gen_rtx_PLUS, gen_rtx_REG(), gen_rtx_SET, GET_CODE, get_frame_size(), GR_ARG_FIRST, GR_REG, HARD_FRAME_POINTER_REGNUM, hard_frame_pointer_rtx, i, ia64_compute_frame_size(), ia64_reg_numbers, IN_REG, insn, LOC_REG, next_scratch_gr_reg(), NULL, NULL_RTX, offset, optimize, OUT_REG, pic_offset_table_rtx, PR_REG, edge::pred_next, REG_FRAME_RELATED_EXPR, REG_MAYBE_DEAD, reg_names, REG_NOTES, regs_ever_live, RETURN_ADDRESS_POINTER_REGNUM, RTX_FRAME_RELATED_P, setup_spill_pointers(), stack_pointer_rtx, TARGET_REG_NAMES, TEST_HARD_REG_BIT, tmp, arc_frame_info::total_size, and XINT.
Referenced by gen_prologue().
| rtx ia64_function_arg | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| int | named, | |||
| int | incoming | |||
| ) |
Definition at line 3281 of file ia64.c.
References AGGREGATE_TYPE_P, AR_ARG_FIRST, BITS_PER_UNIT, BYTES_BIG_ENDIAN, const0_rtx, FLOAT_MODE_P, FR_ARG_FIRST, GEN_INT, gen_rtvec(), gen_rtvec_v(), gen_rtx_EXPR_LIST, gen_rtx_PARALLEL, gen_rtx_REG(), GET_MODE_CLASS, GET_MODE_SIZE, GR_ARG_FIRST, hfa_element_mode(), i, int_size_in_bytes(), INTEL_EXTENDED_IEEE_FORMAT, MAX_ARGUMENT_SLOTS, MODE_COMPLEX_FLOAT, offset, TYPE_ALIGN, UNITS_PER_WORD, words, and XEXP.
| void ia64_function_arg_advance | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| int | named | |||
| ) |
Definition at line 3494 of file ia64.c.
References BITS_PER_UNIT, FLOAT_MODE_P, GET_MODE_CLASS, GET_MODE_SIZE, hfa_element_mode(), if(), int_size_in_bytes(), MAX_ARGUMENT_SLOTS, MODE_COMPLEX_FLOAT, offset, TYPE_ALIGN, UNITS_PER_WORD, and words.
Referenced by ia64_setup_incoming_varargs().
| int ia64_function_arg_partial_nregs | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| named | ||||
| ) |
Definition at line 3457 of file ia64.c.
References BITS_PER_UNIT, GET_MODE_SIZE, int_size_in_bytes(), MAX_ARGUMENT_SLOTS, offset, TYPE_ALIGN, UNITS_PER_WORD, and words.
| int ia64_function_arg_pass_by_reference | ( | cum | , | |
| mode | , | |||
| tree | type, | |||
| named | ||||
| ) |
Definition at line 3671 of file ia64.c.
References AGGREGATE_TYPE_P, BYTES_BIG_ENDIAN, FLOAT_TYPE_P, FR_ARG_FIRST, GEN_INT, gen_rtvec_v(), gen_rtx_EXPR_LIST, gen_rtx_PARALLEL, gen_rtx_REG(), GET_MODE_SIZE, GR_RET_FIRST, hfa_element_mode(), i, int_size_in_bytes(), INTEL_EXTENDED_IEEE_FORMAT, mode, offset, TYPE_MODE, UNITS_PER_WORD, and XEXP.
| int ia64_hard_regno_rename_ok | ( | int | from, | |
| int | to | |||
| ) |
Definition at line 2940 of file ia64.c.
References current_frame_info, OUT_REG, OUT_REGNO_P, and PR_REGNO_P.
| static void ia64_hpux_add_extern_decl | ( | char * | name | ) | const [static] |
Definition at line 8236 of file ia64.c.
References extern_func_head, extern_func_list::name, extern_func_list::next, p, strcpy, strlen(), and xmalloc().
Referenced by ia64_asm_output_external().
Definition at line 8251 of file ia64.c.
References gcc_target::asm_out, assemble_name(), extern_func_head, fprintf(), gcc_target::asm_out::globalize_label, maybe_get_identifier(), extern_func_list::name, extern_func_list::next, putc(), gcc_target::strip_name_encoding, TREE_ASM_WRITTEN, TREE_SYMBOL_REFERENCED, TYPE_ASM_OP, and TYPE_OPERAND_FMT.
| enum direction ia64_hpux_function_arg_padding | ( | enum machine_mode | mode, | |
| tree | type | |||
| ) |
Definition at line 8205 of file ia64.c.
References AGGREGATE_TYPE_P, BITS_PER_UNIT, downward, GET_MODE_BITSIZE, int_size_in_bytes(), PARM_BOUNDARY, TREE_CODE, TYPE_SIZE, UNITS_PER_WORD, and upward.
Definition at line 7239 of file ia64.c.
References DECL_SECTION_NAME, HOST_WIDE_INT, ia64_section_threshold, int_size_in_bytes(), size, strcmp(), TARGET_NO_SDATA, TREE_CODE, TREE_STRING_POINTER, and TREE_TYPE.
Referenced by ia64_encode_section_info().
| static struct machine_function* ia64_init_machine_status | ( | void | ) | [static, read] |
Definition at line 4292 of file ia64.c.
References ggc_alloc_cleared.
Referenced by ia64_override_options().
| HOST_WIDE_INT ia64_initial_elimination_offset | ( | int | from, | |
| int | to | |||
| ) |
Definition at line 1978 of file ia64.c.
References abort, ARG_POINTER_REGNUM, current_frame_info, current_function_is_leaf, current_function_outgoing_args_size, current_function_pretend_args_size, FRAME_POINTER_REGNUM, get_frame_size(), HARD_FRAME_POINTER_REGNUM, HOST_WIDE_INT, ia64_compute_frame_size(), offset, RETURN_ADDRESS_POINTER_REGNUM, STACK_POINTER_REGNUM, and arc_frame_info::total_size.
Referenced by ia64_dwarf2out_def_steady_cfa().
Definition at line 3138 of file ia64.c.
References copy_to_reg(), emit_insn(), emit_move_insn(), gen_adddi3(), GEN_INT, gen_reg_rtx(), gen_rtx_MEM(), gen_rtx_SYMBOL_REF, plus_constant, and Pmode.
| static int ia64_internal_sched_reorder | ( | dump | , | |
| sched_verbose | , | |||
| rtx * | ready, | |||
| int * | pn_ready, | |||
| int | reorder_type, | |||
| int | clock_var | |||
| ) | [static] |
Definition at line 6545 of file ia64.c.
References abort, asm_noperands(), cycle_end_fill_slots(), dump, dump_current_packet(), fprintf(), GET_CODE, group_barrier_needed_p(), ia64_safe_itanium_class(), ia64_safe_type(), insn, ITANIUM_CLASS_MMMUL, ITANIUM_CLASS_MMSHF, ITANIUM_CLASS_MMSHFI, itanium_reorder(), LOG_LINKS, maybe_rotate(), memmove, nop_cycles_until(), NULL, out, PATTERN, REG_NOTE_KIND, safe_group_barrier_needed_p(), sched_data, sched_verbose, schedule_stop(), bundle::t, TYPE_UNKNOWN, and XEXP.
Referenced by ia64_sched_reorder(), and ia64_sched_reorder2().
Definition at line 993 of file ia64.c.
References const0_rtx, CONST_DOUBLE_OK_FOR_G, GET_CODE, GET_MODE, INTEGRAL_MODE_P, MEM, and register_operand().
Referenced by gen_movtf(), ia64_expand_move(), ia64_expand_movxf_movrf(), recog_2(), recog_4(), recog_5(), and recog_7().
Definition at line 3070 of file ia64.c.
References flag_exceptions, flag_unwind_tables, fputs(), and USING_SJLJ_EXCEPTIONS.
Definition at line 3082 of file ia64.c.
References current_frame_info, HARD_FRAME_POINTER_REGNUM, i, ia64_input_reg_names, ia64_local_reg_names, ia64_output_reg_names, IN_REG, arc_frame_info::initialized, LOC_REG, OUT_REG, reg_names, RETURN_ADDRESS_POINTER_REGNUM, TARGET_REG_NAMES, tmp, and XINT.
Definition at line 3001 of file ia64.c.
References current_frame_info, flag_exceptions, flag_unwind_tables, fprintf(), fputs(), HARD_FRAME_POINTER_REGNUM, ia64_dbx_register_number(), and USING_SJLJ_EXCEPTIONS.
| static void ia64_output_mi_thunk | ( | FILE * | file, | |
| thunk | , | |||
| HOST_WIDE_INT | delta, | |||
| HOST_WIDE_INT | vcall_offset, | |||
| tree | function | |||
| ) | [static] |
Definition at line 8344 of file ia64.c.
References assemble_external(), CONST_OK_FOR_I, CONST_OK_FOR_J, current_frame_info, DECL_RTL, emit_all_insn_group_barriers(), emit_barrier(), emit_insn(), emit_move_insn(), emit_note(), final_end_function(), final_start_function(), FUNCTION_MODE, gen_adddi3(), GEN_INT, gen_rtx_MEM(), gen_rtx_REG(), get_insns(), get_last_insn(), ia64_expand_call(), ia64_reg_numbers, IN_REG, insn, memset, next_scratch_gr_reg(), no_new_pseudos, NOTE_INSN_PROLOGUE_END, NULL, NULL_RTX, PATTERN, Pmode, reg_names, reload_completed, shorten_branches(), SIBLING_CALL_P, TARGET_REG_NAMES, tmp, tmp2, TREE_USED, try_split(), and XEXP.
Definition at line 3769 of file ia64.c.
References abort, addr(), c, CONST0_RTX, CONST1_RTX, current_insn_predicate, current_output_insn, EQ, exact_log2, find_reg_note(), fprintf(), fputs(), FR_REG, GET_CODE, GET_MODE, GET_MODE_SIZE, GET_RTX_CLASS, GET_RTX_NAME, HOST_WIDE_INT, HOST_WIDE_INT_PRINT_DEC, INTVAL, MEM, MEM_VOLATILE_P, NE, output_addr_const(), output_operand_lossage(), prefix, putc(), REG, REG_BR_PROB, REG_BR_PROB_BASE, reg_names, REGNO, str, swap_condition(), TARGET_GNU_AS, and XEXP.
| int ia64_register_move_cost | ( | enum machine_mode | mode, | |
| enum reg_class | from, | |||
| enum reg_class | to | |||
| ) |
Definition at line 1473 of file ia64.c.
References CONST_OK_FOR_I, current_frame_info, emit_insn(), emit_move_insn(), frame_pointer_needed, gen_adddi3(), GEN_INT, gen_rtx_MEM(), gen_rtx_REG(), hard_frame_pointer_rtx, HOST_WIDE_INT, offset, pic_offset_table_rtx, stack_pointer_rtx, tmp, and arc_frame_info::total_size.
Referenced by gen_split_414(), gen_split_416(), and ia64_split_call().
Definition at line 7090 of file ia64.c.
References compute_bb_for_insn(), emit_all_insn_group_barriers(), emit_insn(), emit_insn_group_barriers(), emit_predicate_relation_info(), fixup_errata(), flag_exceptions, flag_unwind_tables, gen_break_f(), gen_insn_group_barrier(), GEN_INT, GET_CODE, get_last_insn(), ia64_emit_nops(), ia64_flag_schedule_insns2, insn, INSN_P, NULL, optimize, PATTERN, prev_active_insn(), PROP_DEATH_NOTES, rtl_dump_file, schedule_ebbs(), split_all_insns(), timevar_pop, timevar_push, UNSPECV_INSN_GROUP_BARRIER, UPDATE_LIFE_GLOBAL_RM_NOTES, update_life_info(), USING_SJLJ_EXCEPTIONS, and XINT.
| int ia64_return_in_memory | ( | tree | valtype | ) |
Definition at line 3634 of file ia64.c.
References GET_MODE_SIZE, hfa_element_mode(), HOST_WIDE_INT, int_size_in_bytes(), MAX_ARGUMENT_SLOTS, MAX_INT_RETURN_SLOTS, mode, TYPE_MODE, and UNITS_PER_WORD.
| static unsigned int ia64_rwreloc_section_type_flags | ( | tree | decl, | |
| const char * | name, | |||
| int | reloc | |||
| ) | [static] |
| static void ia64_rwreloc_select_rtx_section | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| unsigned HOST_WIDE_INT | align | |||
| ) | [static] |
| static enum attr_itanium_class ia64_safe_itanium_class | ( | rtx | insn | ) | [static] |
Definition at line 4357 of file ia64.c.
References get_attr_itanium_class(), ITANIUM_CLASS_UNKNOWN, and recog_memoized.
Referenced by bundling(), get_next_important_insn(), group_barrier_needed(), group_barrier_needed_p(), ia64_adjust_cost(), ia64_adjust_cost_2(), ia64_dependencies_evaluation_hook(), ia64_dfa_new_cycle(), and ia64_internal_sched_reorder().
| static enum attr_itanium_requires_unit0 ia64_safe_itanium_requires_unit0 | ( | rtx | insn | ) | [static] |
Definition at line 4347 of file ia64.c.
References get_attr_itanium_requires_unit0(), ITANIUM_REQUIRES_UNIT0_NO, and recog_memoized.
Referenced by find_best_insn(), and insn_matches_slot().
Definition at line 4367 of file ia64.c.
References get_attr_type(), recog_memoized, and TYPE_UNKNOWN.
Referenced by bundling(), cycle_end_fill_slots(), dump_current_packet(), fixup_errata(), ia64_adjust_cost(), ia64_dfa_sched_reorder(), ia64_emit_nops(), ia64_internal_sched_reorder(), ia64_variable_issue(), issue_nops_and_insn(), and itanium_reorder().
| static void ia64_sched_init | ( | dump | , | |
| sched_verbose | , | |||
| int | max_ready | |||
| ) | [static] |
Definition at line 6035 of file ia64.c.
References ia64_packet::first_split, for(), i, init_insn_group_barriers(), initialized, itanium_split_issue(), memset, NR_BUNDLES, NR_PACKETS, packets, sched_data, bundle::t, ia64_packet::t1, t1, ia64_packet::t2, t2, and xmalloc().
| static int ia64_sched_reorder2 | ( | dump | , | |
| sched_verbose | , | |||
| rtx * | ready, | |||
| int * | pn_ready, | |||
| int | clock_var | |||
| ) | [static] |
Definition at line 6721 of file ia64.c.
References abort, CODE_FOR_insn_group_barrier, CODE_FOR_pred_rel_mutex, CODE_FOR_prologue_use, cycle_end_fill_slots(), dump, dump_current_packet(), fprintf(), GEN_INT, GET_CODE, get_split(), i, ia64_internal_sched_reorder(), INTVAL, next, NR_PACKETS, NULL, p, packet_matches_p(), packets, PATTERN, PREV_INSN, recog_memoized, rotate_one_bundle(), sched_data, sched_verbose, split, ia64_packet::t, TYPE_A, TYPE_B, TYPE_F, TYPE_I, TYPE_M, and XVECEXP.
Definition at line 4084 of file ia64.c.
References AR_I_REGS, AR_M_REGS, BR_REGS, FR_REGNO_P, FR_REGS, GENERAL_REGNO_P, GET_CODE, GET_MODE, GR_REGS, MEM, mode, NO_REGS, PLUS, PR_REGNO_P, PR_REGS, REG, and true_regnum().
| static void ia64_select_rtx_section | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| unsigned HOST_WIDE_INT | align | |||
| ) | [static] |
Definition at line 8283 of file ia64.c.
References default_elf_select_rtx_section(), GET_MODE_SIZE, ia64_section_threshold, and sdata_section().
Referenced by ia64_rwreloc_select_rtx_section().
| void ia64_setup_incoming_varargs | ( | CUMULATIVE_ARGS | cum, | |
| int | int_mode, | |||
| tree | type, | |||
| int * | pretend_size, | |||
| second_time | ||||
| ) |
Definition at line 3171 of file ia64.c.
References cfun, ia64_function_arg_advance(), MAX_ARGUMENT_SLOTS, n, and UNITS_PER_WORD.
Definition at line 5621 of file ia64.c.
References CODE_FOR_epilogue_deallocate_stack, CODE_FOR_prologue_allocate_stack, COND_EXEC_CODE, GET_CODE, PATTERN, recog_memoized, ret, SET, single_set_2(), x, and XVECEXP.
Referenced by ia64_adjust_cost(), ia64_ld_address_bypass_p(), and ia64_st_address_bypass_p().
| void ia64_split_call | ( | rtx | retval, | |
| rtx | addr, | |||
| rtx | retaddr, | |||
| rtx | scratch_r, | |||
| rtx | scratch_b, | |||
| int | noreturn_p, | |||
| int | sibcall_p | |||
| ) |
Definition at line 1513 of file ia64.c.
References emit_call_insn(), emit_move_insn(), FUNCTION_ARG_REGNO_P, gen_call_nogp(), gen_call_value_nogp(), gen_rtx_MEM(), gen_rtx_POST_DEC, gen_rtx_POST_INC, gen_sibcall_nogp(), GR_REGNO_P, ia64_reload_gp(), insn, pic_offset_table_rtx, Pmode, REG_P, REGNO, regs_invalidated_by_call, TARGET_CONST_GP, TEST_HARD_REG_BIT, and tmp.
Referenced by gen_split_399(), gen_split_400(), gen_split_401(), gen_split_402(), gen_split_403(), gen_split_404(), and gen_split_405().
Definition at line 1304 of file ia64.c.
References abort, adjust_address, base, change_address(), gen_adddi3(), GEN_INT, gen_rtx_POST_MODIFY, gen_rtx_REG(), GET_CODE, MEM, NULL_RTX, plus_constant, Pmode, REG, REGNO, split_double(), and XEXP.
Referenced by gen_split_291(), gen_split_292(), gen_split_293(), and gen_split_294().
| static const char* ia64_strip_name_encoding | ( | char * | str | ) | const [static] |
Definition at line 3602 of file ia64.c.
References addr(), BITS_PER_UNIT, build(), build_int_2, build_pointer_type(), const0_rtx, expand_expr(), EXPAND_NORMAL, force_reg(), gen_rtx_MEM(), Pmode, ptr_mode, std_expand_builtin_va_arg(), TREE_CODE, TREE_SIDE_EFFECTS, TREE_TYPE, TYPE_ALIGN, TYPE_SIZE, and UNITS_PER_WORD.
| static int ia64_variable_issue | ( | FILE * | dump, | |
| int | sched_verbose, | |||
| rtx | insn, | |||
| can_issue_more | ||||
| ) | [static] |
Definition at line 6849 of file ia64.c.
References abort, asm_noperands(), fprintf(), gen_insn_group_barrier(), GEN_INT, GET_CODE, group_barrier_needed_p(), ia64_emit_insn_before(), ia64_safe_type(), init_insn_group_barriers(), INSN_UID, NULL, PATTERN, rotate_two_bundles(), sched_data, schedule_stop(), ia64_packet::t, and TYPE_UNKNOWN.
Definition at line 5081 of file ia64.c.
References memset, and rws_sum.
Referenced by emit_all_insn_group_barriers(), emit_insn_group_barriers(), final_emit_insn_group_barriers(), ia64_dfa_new_cycle(), ia64_sched_init(), ia64_variable_issue(), and nop_cycles_until().
| static enum attr_type* static sched_types int insn_matches_slot | ( | struct ia64_packet * | p, | |
| enum attr_type | itype, | |||
| int | slot, | |||
| rtx | insn | |||
| ) | const [static] |
Definition at line 5812 of file ia64.c.
References GET_CODE, i, ia64_safe_itanium_requires_unit0(), ITANIUM_REQUIRES_UNIT0_YES, sched_data, TYPE_A, TYPE_B, TYPE_F, TYPE_I, TYPE_L, TYPE_M, and TYPE_X.
Referenced by cycle_end_fill_slots(), find_best_insn(), and packet_matches_p().
Definition at line 6273 of file ia64.c.
References abort, find_best_insn(), find_best_packet(), first, fprintf(), i, ia64_safe_type(), insn, itanium_split_issue(), memmove, bundle::name, NULL, packet_matches_p(), sched_data, ia64_packet::t1, and ia64_packet::t2.
Referenced by ia64_internal_sched_reorder().
| static int itanium_split_issue | ( | struct ia64_packet * | p, | |
| int | begin | |||
| ) | const [static] |
Definition at line 5567 of file ia64.c.
References i, max, memset, split, ia64_packet::t, TYPE_B, TYPE_F, TYPE_I, TYPE_L, TYPE_M, TYPE_S, and TYPE_X.
Referenced by get_split(), ia64_sched_init(), itanium_reorder(), and nop_cycles_until().
Definition at line 1693 of file ia64.c.
References current_frame_info, GET_MODE, HARD_REGNO_NREGS, i, n, and REGNO.
Referenced by ia64_compute_frame_size().
Definition at line 6435 of file ia64.c.
References cycle_end_fill_slots(), rotate_one_bundle(), rotate_two_bundles(), and sched_data.
Referenced by ia64_internal_sched_reorder(), and nop_cycles_until().
| int move_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 504 of file ia64.c.
References general_operand(), symbolic_operand(), and TARGET_NO_PIC.
Referenced by mips_legitimize_move(), movdi_operand(), recog_2(), recog_4(), recog_5(), recog_7(), and split_1().
| static int next_scratch_gr_reg | ( | void | ) | [static] |
Definition at line 1668 of file ia64.c.
References abort, call_used_regs, current_frame_info, fixed_regs, global_regs, and i.
Referenced by ia64_expand_epilogue(), ia64_expand_prologue(), ia64_output_mi_thunk(), setup_spill_pointers(), and spill_restore_mem().
Definition at line 6457 of file ia64.c.
References gen_bundle_selector(), gen_insn_group_barrier(), GEN_INT, gen_nop_type(), i, init_insn_group_barriers(), itanium_split_issue(), maybe_rotate(), sched_data, split, bundle::t, TYPE_I, and TYPE_M.
Referenced by ia64_internal_sched_reorder().
| int normal_comparison_operator | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
| int not_postinc_memory_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 825 of file ia64.c.
References GET_CODE, GET_RTX_CLASS, memory_operand(), and XEXP.
Referenced by recog_11(), and recog_5().
| static int packet_matches_p | ( | struct ia64_packet * | p, | |
| int | split, | |||
| int * | pslot | |||
| ) | const [static] |
Definition at line 6086 of file ia64.c.
References first, i, insn_matches_slot(), and sched_data.
Referenced by find_best_packet(), ia64_sched_reorder2(), itanium_reorder(), and schedule_stop().
| static void find_best_packet PARAMS | ( | (int *, const struct ia64_packet **, rtx *, enum attr_type *, int) | ) | [static] |
| static int find_best_insn PARAMS | ( | (rtx *, enum attr_type *, int, const struct ia64_packet *, int) | ) | [static] |
| static int packet_matches_p PARAMS | ( | (const struct ia64_packet *, int, int *) | ) | [static] |
| static int insn_matches_slot PARAMS | ( | (const struct ia64_packet *, enum attr_type, int, rtx) | ) | [static] |
| static int itanium_split_issue PARAMS | ( | (const struct ia64_packet *, int) | ) | [static] |
| static void rws_update PARAMS | ( | (struct reg_write_state *, int, struct reg_flags, int) | ) | [static] |
| static enum attr_itanium_requires_unit0 ia64_safe_itanium_requires_unit0 PARAMS | ( | (rtx) | ) | [static] |
| static void ia64_select_rtx_section PARAMS | ( | (enum machine_mode, rtx, unsigned HOST_WIDE_INT) | ) | [static] |
| static void ia64_output_mi_thunk PARAMS | ( | (FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree) | ) | [static] |
| static rtx ia64_expand_lock_test_and_set PARAMS | ( | (enum machine_mode, tree, rtx) | ) | [static] |
| static rtx ia64_expand_compare_and_swap PARAMS | ( | (enum machine_mode, int, tree, rtx) | ) | [static] |
| static rtx ia64_expand_fetch_and_op PARAMS | ( | (optab, enum machine_mode, tree, rtx) | ) | [static] |
| static void fix_range PARAMS | ( | (const char *) | ) | [static] |
Definition at line 635 of file mips-tfile.c.
| static enum machine_mode hfa_element_mode PARAMS | ( | (tree, int) | ) | [static] |
| static void ia64_compute_frame_size PARAMS | ( | (HOST_WIDE_INT) | ) | [static] |
| static int find_gr_spill PARAMS | ( | (int) | ) | [static] |
Definition at line 77 of file cplus-dem.c.
| int predicate_operator | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 7365 of file ia64.c.
References asm_out_file, and fprintf().
Referenced by process_set().
Definition at line 7599 of file ia64.c.
References abort, EXIT_BLOCK_PTR, find_reg_note(), flag_exceptions, flag_unwind_tables, fprintf(), GET_CODE, NOTE_BASIC_BLOCK, NOTE_INSN_BASIC_BLOCK, NOTE_LINE_NUMBER, NULL_RTX, PATTERN, process_set(), REG_FRAME_RELATED_EXPR, RTX_FRAME_RELATED_P, SET, USING_SJLJ_EXCEPTIONS, x, XEXP, XVECEXP, and XVECLEN.
Definition at line 7383 of file ia64.c.
References abort, AR_LC_REGNUM, AR_PFS_REGNUM, AR_UNAT_REGNUM, base, BR_REG, current_frame_info, dest, fprintf(), fputc(), fputs(), FR_REG, frame_pointer_needed, GET_CODE, GR_REG, HARD_FRAME_POINTER_REGNUM, hard_frame_pointer_rtx, HOST_WIDE_INT_PRINT_DEC, ia64_dbx_register_number(), INTVAL, MEM, PLUS, PR_REG, process_epilogue(), REG, REGNO, SET_DEST, SET_SRC, src, STACK_POINTER_REGNUM, stack_pointer_rtx, UNSPECV_ALLOC, XEXP, and XINT.
Referenced by process_for_unwind_directive().
Definition at line 5985 of file ia64.c.
References finish_last_head(), fprintf(), memmove, NR_BUNDLES, packets, and sched_data.
Referenced by ia64_sched_reorder2(), and maybe_rotate().
Definition at line 6016 of file ia64.c.
References finish_last_head(), fprintf(), and sched_data.
Referenced by ia64_sched_finish(), ia64_variable_issue(), maybe_rotate(), and schedule_stop().
Definition at line 4754 of file ia64.c.
References abort, ABS, AND, AR_EC_REGNUM, AR_PFS_REGNUM, AR_UNAT_BIT_0, AR_UNAT_REGNUM, ASM_OPERANDS_INPUT, ASM_OPERANDS_INPUT_LENGTH, COMPARE, cond, COND_EXEC_CODE, COND_EXEC_TEST, CONST, DIV, EQ, FIX, FLOAT, GE, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, GT, HOST_WIDE_INT, i, INTVAL, reg_flags::is_sibcall, reg_flags::is_write, LE, LT, MEM, MEM_VOLATILE_P, MINUS, MOD, NE, NOT, offset, PLUS, PR_REGS, REG, REG_AR_CFM, REG_RP, REG_VOLATILE, REGNO, REGNO_REG_CLASS, RETURN, ROTATE, rws_access_reg(), rws_access_regno(), rws_insn, SET, SET_DEST, SET_SRC, set_src_needs_barrier(), SIGN_EXTEND, SUBREG_REG, TARGET_VOL_ASM_STOP, TRUNCATE, UNSPEC_ADDP4, UNSPEC_BSP_VALUE, UNSPEC_BUNDLE_SELECTOR, UNSPEC_CMPXCHG_ACQ, UNSPEC_DTPREL, UNSPEC_FETCHADD_ACQ, UNSPEC_FLUSHRS, UNSPEC_FR_RECIP_APPROX, UNSPEC_FR_RESTORE, UNSPEC_FR_SPILL, UNSPEC_GR_RESTORE, UNSPEC_GR_SPILL, UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_MF, UNSPEC_PIC_CALL, UNSPEC_POPCNT, UNSPEC_PRED_REL_MUTEX, UNSPEC_TPREL, UNSPECV_ALLOC, UNSPECV_BLOCKAGE, UNSPECV_BREAK, UNSPECV_INSN_GROUP_BARRIER, UNSPECV_PSAC_ALL, UNSPECV_PSAC_NORMAL, UNSPECV_SET_BSP, update_set_flags(), USE, reg_write_state::write_count, XEXP, XINT, XOR, XVECEXP, and XVECLEN.
Referenced by group_barrier_needed(), group_barrier_needed_p(), rtx_needs_barrier(), and set_src_needs_barrier().
Definition at line 4604 of file ia64.c.
References GET_MODE, HARD_REGNO_NREGS, n, REGNO, and rws_access_regno().
Referenced by rtx_needs_barrier(), and set_src_needs_barrier().
Definition at line 4483 of file ia64.c.
References abort, AR_PFS_REGNUM, BR_REGS, reg_flags::is_and, reg_flags::is_branch, reg_flags::is_or, reg_flags::is_write, NUM_REGS, PR_REGNO_P, PR_REGS, REGNO_REG_CLASS, rws_insn, rws_sum, rws_update(), reg_write_state::write_count, reg_write_state::written_by_and, and reg_write_state::written_by_or.
Referenced by group_barrier_needed(), group_barrier_needed_p(), rtx_needs_barrier(), and rws_access_reg().
| static void rws_update | ( | struct reg_write_state * | rws, | |
| int | regno, | |||
| struct reg_flags | flags, | |||
| int | pred | |||
| ) | [static] |
Definition at line 4461 of file ia64.c.
References reg_flags::is_and, reg_flags::is_fp, and reg_flags::is_or.
Referenced by rws_access_regno().
| static int safe_group_barrier_needed_p | ( | rtx | insn | ) | [static] |
Definition at line 5201 of file ia64.c.
References group_barrier_needed_p(), memcpy, and rws_sum.
Referenced by ia64_dfa_new_cycle(), ia64_dfa_sched_reorder(), ia64_first_cycle_multipass_dfa_lookahead_guard(), and ia64_internal_sched_reorder().
Definition at line 6358 of file ia64.c.
References compare, cycle_end_fill_slots(), dump_current_packet(), fprintf(), get_split(), i, bundle::name, next, NR_PACKETS, NULL, p, packet_matches_p(), packets, bundle::possible_stop, rotate_two_bundles(), sched_data, split, ia64_packet::t, ia64_packet::t1, and ia64_packet::t2.
Referenced by ia64_internal_sched_reorder(), and ia64_variable_issue().
| int sdata_symbolic_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 311 of file ia64.c.
References CONST, CONSTANT_POOL_ADDRESS_P, ENCODE_SECTION_INFO_CHAR, GET_CODE, GET_MODE_SIZE, get_pool_mode(), ia64_section_threshold, PLUS, str, XEXP, and XSTR.
Referenced by ia64_expand_load_address(), recog_2(), and recog_7().
Definition at line 4710 of file ia64.c.
References dst, GET_CODE, reg_flags::is_branch, pc_rtx, rtx_needs_barrier(), rws_access_reg(), SET_DEST, SET_SRC, src, and XEXP.
Referenced by rtx_needs_barrier().
| int setjmp_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 2055 of file ia64.c.
References current_frame_info, gen_rtx_REG(), get_last_insn(), i, next_scratch_gr_reg(), and NULL.
Referenced by ia64_expand_epilogue(), and ia64_expand_prologue().
| int shift_32bit_count_operand | ( | rtx | op, | |
| mode | ||||
| ) |
| int shift_count_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 748 of file ia64.c.
References CONST_OK_FOR_M, GET_CODE, and INTVAL.
Referenced by gen_rotldi3(), gen_rotrdi3(), recog_2(), recog_8(), and s390_extra_constraint_str().
| int shladd_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 771 of file ia64.c.
References GET_CODE, and INTVAL.
Referenced by errata_emit_nops(), recog_10(), recog_2(), recog_4(), recog_9(), and split_1().
| int signed_inequality_operator | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 2090 of file ia64.c.
References const0_rtx, CONST_OK_FOR_I, CONST_OK_FOR_N, emit_insn(), emit_insn_after(), emit_insn_before(), emit_move_insn(), end_sequence(), first, frame_pointer_needed, gen_adddi3(), GEN_INT, gen_movdi(), gen_rtx_EXPR_LIST, gen_rtx_MEM(), gen_rtx_PLUS, gen_rtx_POST_MODIFY, gen_rtx_REG(), get_insns(), GET_MODE, get_varargs_alias_set(), hard_frame_pointer_rtx, HOST_WIDE_INT, insn, iter, mem, next_scratch_gr_reg(), REG_INC, REG_MAYBE_DEAD, REG_NOTES, set_mem_alias_set(), stack_pointer_rtx, start_sequence(), tmp, and XEXP.
Referenced by do_restore(), and do_spill().
Definition at line 1378 of file ia64.c.
References ADDRESSOF, change_address(), copy_to_reg(), gen_mem_addressof(), gen_rtx_MEM(), GET_CODE, GET_MODE, mem, MEM, NULL_TREE, REG, SUBREG_REG, and XEXP.
Referenced by gen_movtf().
| int symbolic_operand | ( | rtx | op, | |
| mode | ||||
| ) |
| int tfreg_or_fp01_operand | ( | rtx | op, | |
| enum machine_mode | mode | |||
| ) |
Definition at line 966 of file ia64.c.
References fr_reg_or_fp01_operand(), and GET_CODE.
Referenced by recog_1(), recog_10(), recog_11(), recog_3(), recog_4(), recog_5(), recog_8(), and recog_9().
| int tls_symbolic_operand | ( | rtx | op, | |
| mode | ||||
| ) |
Definition at line 408 of file ia64.c.
References ENCODE_SECTION_INFO_CHAR, GET_CODE, str, TLS_MODEL_GLOBAL_DYNAMIC, TLS_MODEL_INITIAL_EXEC, TLS_MODEL_LOCAL_DYNAMIC, TLS_MODEL_LOCAL_EXEC, and XSTR.
| static void update_set_flags | ( | rtx | x, | |
| struct reg_flags * | pflags, | |||
| int * | ppred, | |||
| rtx * | pcond | |||
| ) | [static] |
Definition at line 4627 of file ia64.c.
References abort, AND, cond, EQ, GET_CODE, GET_MODE, GET_MODE_CLASS, GET_RTX_CLASS, reg_flags::is_and, reg_flags::is_fp, reg_flags::is_or, MODE_FLOAT, pc_rtx, PR_REGS, REG, REGNO, REGNO_REG_CLASS, SET_DEST, SET_SRC, src, and XEXP.
Referenced by rtx_needs_barrier().
Initial value:
{
{ 2, { TYPE_M, TYPE_I, TYPE_I }, ".mii" },
{ 1, { TYPE_M, TYPE_M, TYPE_I }, ".mmi" },
{ 0, { TYPE_M, TYPE_F, TYPE_I }, ".mfi" },
{ 0, { TYPE_M, TYPE_M, TYPE_F }, ".mmf" },
{ 0, { TYPE_B, TYPE_B, TYPE_B }, ".bbb" },
{ 0, { TYPE_M, TYPE_B, TYPE_B }, ".mbb" },
{ 0, { TYPE_M, TYPE_I, TYPE_B }, ".mib" },
{ 0, { TYPE_M, TYPE_M, TYPE_B }, ".mmb" },
{ 0, { TYPE_M, TYPE_F, TYPE_B }, ".mfb" },
{ 0, { TYPE_M, TYPE_L, TYPE_X }, ".mlx" }
}
| int cur |
Definition at line 5785 of file ia64.c.
Referenced by _cpp_create_trad_definition(), _cpp_scan_out_logical_line(), _cpp_skip_block_comment(), _dwarf_free_all_of_one_debug(), Access_vector_is_too_messy(), Add_Access(), Add_Bound(), Add_Helper(), REGION_UN::Add_Region(), ancestor_is_function(), ancestor_is_loop(), ancestor_is_switch(), REGION_UN::Any_Wn(), SSA_RENAME::Apply_bb_post(), SSA_RENAME::Apply_sr(), ARA_REF::ARA_REF(), bfd_mach_o_core_fetch_environment(), bfd_mach_o_scan(), bfd_mach_o_write_contents(), bfd_pef_scan(), bfd_sym_display_name_table(), build_automata(), build_vtbl_initializer(), c_parser_expr_list(), OPT_STAB::Canonicalize(), PF_LG::Check(), REGION_UN::Contains(), Contains(), REGION::Contains(), copy_pu_tree(), MU_LIST::Delete_def_at_entry_mus(), duplicate_eh_regions(), dwarf_add_file_decl(), FB_Sanity_Check(), Find_real_loops(), find_redundant_br(), SSA::Find_zero_versions(), flush_quick_stack(), frv_adjust_field_align(), ARA_LOOP_INFO::Generate_Copyout_Loop(), OPT_STAB::Generate_mu_and_chi_list(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), GTY(), ARA_LOOP_INFO::Has_Matching(), HB_Tail_Duplicate(), OPT_REVISE_SSA::Insert_mu_and_chi_list_for_new_var(), Insert_Parent(), ARA_LOOP_INFO::Is_Covered(), REGION_UN::Is_Included(), lex_identifier(), lex_number(), lookup_conversions_r(), lower_bit_field_id(), PF_LG::LR_Ordering(), LINEX::Map_access_vector(), MEM_POOL_FREE(), MEM_POOL_Realloc_P(), Merge_Across_Labels(), Merge_Blocks(), ARA_LOOP_INFO::Merge_then_else(), Modified_Option(), LEAF_ITER< NODE_TYPE >::Next(), dep_order_iter< GRAPH, SUCC_ITERATOR, PRED_ITERATOR, VISITED >::operator++(), breath_first_iter< TREE, ITERATOR, never_visited< TREE > >::operator++(), parse_identifier(), parse_number(), Perform_Gather_Scatter(), BB_LIST::Pos(), SLIST_NODE::Pos(), REGION_UN::Print(), REGION_UN::Print_Analysis_Info(), OPT_STAB::Print_aux_entry(), print_exp(), print_value(), REGION::REGION(), REGION_UN::RegionUN_Projection(), BB_LIST::Remove(), BB_LIST_CONTAINER::Remove(), remove_duplicates(), scan_out_logical_line(), scan_parameters(), ARA_REF::Set_Loop_Invariant(), ARA_REF::Set_Whole_Array(), skip_macro_block_comment(), STMTREP::Stmt_order_less_or_equal(), tsi_delink(), tsi_link_after(), tsi_link_before(), tsi_split_statement_list_after(), tsi_split_statement_list_before(), verify_call_expr(), verify_class_type(), verify_compound_statement(), verify_constructor_expr(), verify_enumeral_type(), verify_field_decl(), verify_parm_decl(), verify_target_expr(), verify_try_block(), PF_LG::Volume(), ARA_LOOP_INFO::Walk_Loop(), REGION_UN::WB_Print(), WN_Copy_Frequency_Tree(), and IPO_ADDR_HASH::~IPO_ADDR_HASH().
struct ia64_frame_info current_frame_info [static] |
Referenced by ia64_hpux_add_extern_decl(), and ia64_hpux_asm_file_end().
int first_instruction [static] |
| int first_slot |
int group_idx [static] |
Definition at line 5337 of file ia64.c.
Referenced by Compute_Split_Regions(), Consistent_Layout(), and host_associated_attr_semantics().
| int ia64_asm_output_label = 0 |
| struct rtx_def* ia64_compare_op0 |
Definition at line 56 of file ia64.c.
Referenced by gen_cmpbi(), gen_cmpdf(), gen_cmpdi(), gen_cmpsf(), gen_cmpsi(), gen_cmptf(), and ia64_expand_compare().
| struct rtx_def* ia64_compare_op1 |
Definition at line 57 of file ia64.c.
Referenced by gen_cmpbi(), gen_cmpdf(), gen_cmpdi(), gen_cmpsf(), gen_cmpsi(), gen_cmptf(), and ia64_expand_compare().
| int ia64_final_schedule = 0 |
| const char* ia64_fixed_range_string |
int ia64_flag_schedule_insns2 [static] |
const char* const ia64_input_reg_names[8] [static] |
Initial value:
{ "in0", "in1", "in2", "in3", "in4", "in5", "in6", "in7" }
Definition at line 75 of file ia64.c.
Referenced by ia64_output_function_epilogue().
const char* const ia64_local_reg_names[80] [static] |
Initial value:
{ "loc0", "loc1", "loc2", "loc3", "loc4", "loc5", "loc6", "loc7",
"loc8", "loc9", "loc10","loc11","loc12","loc13","loc14","loc15",
"loc16","loc17","loc18","loc19","loc20","loc21","loc22","loc23",
"loc24","loc25","loc26","loc27","loc28","loc29","loc30","loc31",
"loc32","loc33","loc34","loc35","loc36","loc37","loc38","loc39",
"loc40","loc41","loc42","loc43","loc44","loc45","loc46","loc47",
"loc48","loc49","loc50","loc51","loc52","loc53","loc54","loc55",
"loc56","loc57","loc58","loc59","loc60","loc61","loc62","loc63",
"loc64","loc65","loc66","loc67","loc68","loc69","loc70","loc71",
"loc72","loc73","loc74","loc75","loc76","loc77","loc78","loc79" }
Definition at line 79 of file ia64.c.
Referenced by ia64_output_function_epilogue().
const char* const ia64_output_reg_names[8] [static] |
Initial value:
{ "out0", "out1", "out2", "out3", "out4", "out5", "out6", "out7" }
Definition at line 92 of file ia64.c.
Referenced by ia64_output_function_epilogue().
const char* const ia64_reg_numbers[96] [static] |
Initial value:
{ "r32", "r33", "r34", "r35", "r36", "r37", "r38", "r39",
"r40", "r41", "r42", "r43", "r44", "r45", "r46", "r47",
"r48", "r49", "r50", "r51", "r52", "r53", "r54", "r55",
"r56", "r57", "r58", "r59", "r60", "r61", "r62", "r63",
"r64", "r65", "r66", "r67", "r68", "r69", "r70", "r71",
"r72", "r73", "r74", "r75", "r76", "r77", "r78", "r79",
"r80", "r81", "r82", "r83", "r84", "r85", "r86", "r87",
"r88", "r89", "r90", "r91", "r92", "r93", "r94", "r95",
"r96", "r97", "r98", "r99", "r100","r101","r102","r103",
"r104","r105","r106","r107","r108","r109","r110","r111",
"r112","r113","r114","r115","r116","r117","r118","r119",
"r120","r121","r122","r123","r124","r125","r126","r127"}
Definition at line 60 of file ia64.c.
Referenced by ia64_expand_prologue(), and ia64_output_mi_thunk().
| unsigned int ia64_section_threshold |
Definition at line 112 of file ia64.c.
Referenced by ia64_in_small_data_p(), ia64_override_options(), ia64_select_rtx_section(), and sdata_symbolic_operand().
| int ia64_tls_size = 22 |
| const char* ia64_tls_size_string |
Definition at line 5796 of file ia64.c.
Referenced by _bfd_elf_discard_section_eh_frame(), arm_call_tls_get_addr(), arm_gen_constant(), build_insn_table(), c4x_emit_libcall(), c4x_emit_libcall_mulhi(), cgraph_remove_unreachable_nodes(), commit_one_edge_insertion(), convert_from_eh_region_ranges(), convert_from_ssa(), convert_move(), cse_cc_succs(), emit_library_call_value_1(), expand_absneg_bit(), expand_binop(), expand_builtin_int_roundingfn(), expand_builtin_mathfn(), expand_builtin_mathfn_2(), expand_builtin_mathfn_3(), expand_builtin_strcat(), expand_call(), expand_complex_abs(), expand_copysign_bit(), expand_expr(), expand_fix(), expand_float(), expand_inline_function(), expand_mult_highpart_optab(), expand_nl_goto_receivers(), expand_nl_handler_label(), expand_twoval_binop_libfunc(), expand_unop(), fr30_cgen_cpu_close(), fr30_cgen_init_opcode_table(), frv_cgen_cpu_close(), frv_cgen_init_opcode_table(), frv_reorder_packet(), function_section(), ia64_expand_move(), ia64_expand_tls_address(), insert_stores(), ip2k_cgen_cpu_close(), ip2k_cgen_init_opcode_table(), iq2000_cgen_cpu_close(), iq2000_cgen_init_opcode_table(), ix86_expand_movstr(), legitimize_tls_address(), m32r_cgen_cpu_close(), m32r_cgen_init_opcode_table(), m32r_cgen_init_opinst_table(), m68hc11_emit_libcall(), main(), mmix_output_register_setting(), openrisc_cgen_cpu_close(), openrisc_cgen_init_opcode_table(), optimize_bit_field(), optimize_sibling_and_tail_recursive_calls(), output_in_line_mul(), prepare_float_lib_cmp(), purge_addressof_1(), reg_alloc(), rest_of_compilation(), rewrite_program(), sh_output_mi_thunk(), spe_func_has_64bit_regs_p(), xstormy16_cgen_cpu_close(), and xstormy16_cgen_init_opcode_table().
bool last_block [static] |
Definition at line 7356 of file ia64.c.
Referenced by add_deps_for_risky_insns(), GTY(), new_block(), record_block_change(), Remove_Branches(), and VEC().
struct group last_group[2] [static] |
Referenced by errata_emit_nops(), errata_find_address_regs(), and fixup_errata().
int last_scratch_gr_reg [static] |
| int last_was_stop |
bool need_copy_state [static] |
struct ia64_packet packets[NR_PACKETS] [static] |
Definition at line 5520 of file ia64.c.
Referenced by find_best_packet(), ia64_sched_init(), ia64_sched_reorder2(), rotate_one_bundle(), and schedule_stop().
int prev_cycle [static] |
int prev_first [static] |
| struct reg_write_state rws_insn[NUM_REGS] |
Definition at line 4427 of file ia64.c.
Referenced by group_barrier_needed(), group_barrier_needed_p(), rtx_needs_barrier(), and rws_access_regno().
| struct reg_write_state rws_sum[NUM_REGS] |
Definition at line 4424 of file ia64.c.
Referenced by init_insn_group_barriers(), rws_access_regno(), safe_group_barrier_needed(), and safe_group_barrier_needed_p().
struct { ... } sched_data [static] |
Referenced by cycle_end_fill_slots(), dump_current_packet(), find_best_packet(), finish_last_head(), ia64_internal_sched_reorder(), ia64_sched_init(), ia64_sched_reorder2(), ia64_variable_issue(), insn_matches_slot(), itanium_reorder(), maybe_rotate(), nop_cycles_until(), packet_matches_p(), rotate_one_bundle(), rotate_two_bundles(), and schedule_stop().
rtx* sched_ready [static] |
struct spill_fill_data spill_fill_data [static] |
| int split |
Definition at line 5790 of file ia64.c.
Referenced by _bfd_elf_make_section_from_phdr(), Assemble_Bundles(), Build_Splits(), cwh_stab_split_common(), find_best_packet(), find_split_point(), ia64_sched_reorder2(), itanium_split_issue(), Merge_Splitted_PU_Entry_BB(), Merge_Splitted_PU_Exit_BB(), need_to_split(), nop_cycles_until(), Print_Split(), process_one_cond_exec(), process_rtx(), schedule_stop(), and try_combine().
| struct gcc_target targetm = TARGET_INITIALIZER |
const char* const type_names[] [static] |
| enum attr_type types[6] |
Definition at line 5795 of file ia64.c.
Referenced by add_builtin_candidates(), altivec_resolve_overloaded_builtin(), build_builtin_candidate(), cp_parser_type_id_list(), emit_support_tinfos(), fei_allocate(), ffelex_type_string_(), get_parm_info(), ir_b_write_tree(), mips_init_builtins(), pp_cxx_parameter_declaration_clause(), and same_signature_p().
1.5.6