#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.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 "function.h"#include "obstack.h"#include "toplev.h"#include "tm_p.h"#include "target.h"#include "target-def.h"

Go to the source code of this file.
| #define REG_SAVE_BYTES |
Value:
(4 * regs_ever_live[2] \ + 4 * regs_ever_live[3] \ + 4 * regs_ever_live[6] \ + 4 * regs_ever_live[7] \ + 16 * (regs_ever_live[14] || regs_ever_live[15] \ || regs_ever_live[16] || regs_ever_live[17]))
| #define SIZE_ADD_AX | ( | S | ) |
Value:
((((S) >= (1 << 15)) || ((S) < -(1 << 15))) ? 6 \ : (((S) >= (1 << 7)) || ((S) < -(1 << 7))) ? 4 : 2)
Referenced by expand_epilogue(), and expand_prologue().
| #define SIZE_ADD_SP | ( | S | ) |
Value:
((((S) >= (1 << 15)) || ((S) < -(1 << 15))) ? 6 \ : (((S) >= (1 << 7)) || ((S) < -(1 << 7))) ? 4 : 3)
Referenced by expand_epilogue(), and expand_prologue().
Referenced by expand_epilogue(), and expand_prologue().
| #define SIZE_FMOV_SP_ | ( | S, | |||
| N | ) |
| #define TARGET_ARG_PARTIAL_BYTES mn10300_arg_partial_bytes |
| #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true |
| #define TARGET_ENCODE_SECTION_INFO mn10300_encode_section_info |
| #define TARGET_EXPAND_BUILTIN_SAVEREGS mn10300_builtin_saveregs |
| #define TARGET_PASS_BY_REFERENCE mn10300_pass_by_reference |
| int call_address_operand | ( | rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
| int can_use_return_insn | ( | void | ) |
Definition at line 546 of file mn10300.c.
References current_function_outgoing_args_size, fp_regs_to_save(), frame_pointer_needed, get_frame_size(), regs_ever_live, reload_completed, and size.
| int const_1f_operand | ( | register rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
| int const_8bit_operand | ( | register rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 931 of file mn10300.c.
References abort, addr(), call_used_regs, current_function_outgoing_args_size, emit_insn(), emit_jump_insn(), emit_move_insn(), FIRST_ADDRESS_REGNUM, FIRST_FP_REGNUM, fixed_regs, fp_regs_to_save(), frame_pointer_needed, FRAME_POINTER_REGNUM, frame_pointer_rtx, gen_addsi3(), GEN_INT, gen_movsi(), gen_return_internal(), gen_rtx_MEM(), gen_rtx_PLUS, gen_rtx_POST_INC, gen_rtx_REG(), get_frame_size(), HOST_WIDE_INT, i, LAST_FP_REGNUM, REG_SAVE_BYTES, regs_ever_live, size, SIZE_ADD_AX, SIZE_ADD_SP, SIZE_FMOV_SP, stack_pointer_rtx, TARGET_AM33_2, unsigned, and XEXP.
Definition at line 656 of file mn10300.c.
References abort, addr(), call_used_regs, const0_rtx, current_function_outgoing_args_size, emit_insn(), emit_move_insn(), FIRST_ADDRESS_REGNUM, FIRST_FP_REGNUM, fixed_regs, flag_pic, fp_regs_to_save(), frame_pointer_needed, frame_pointer_rtx, gen_addsi3(), GEN_INT, gen_movsi(), gen_rtx_EXPR_LIST, gen_rtx_MEM(), gen_rtx_PLUS, gen_rtx_POST_INC, gen_rtx_REG(), get_frame_size(), get_last_insn(), HOST_WIDE_INT, i, insn, last, LAST_FP_REGNUM, mn10300_gen_multiple_store(), mn10300_get_live_callee_saved_regs(), NEXT_INSN, PIC_OFFSET_TABLE_REGNUM, REG_MAYBE_DEAD, REG_NOTES, regs_ever_live, RTX_FRAME_RELATED_P, size, SIZE_ADD_AX, SIZE_ADD_SP, SIZE_FMOV_SP, stack_pointer_rtx, TARGET_AM33_2, and unsigned.
| static int fp_regs_to_save | ( | void | ) | [static] |
Definition at line 494 of file mn10300.c.
References call_used_regs, FIRST_FP_REGNUM, i, LAST_FP_REGNUM, n, regs_ever_live, and TARGET_AM33_2.
Referenced by can_use_return_insn(), expand_epilogue(), expand_prologue(), and initial_offset().
| rtx function_arg | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| int named | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 1489 of file mn10300.c.
References align, gen_rtx_REG(), GET_MODE_SIZE, int_size_in_bytes(), nregs, NULL_TREE, result, size, and UNITS_PER_WORD.
| int impossible_plus_operand | ( | rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
| int initial_offset | ( | int | from, | |
| int | to | |||
| ) |
Definition at line 1370 of file mn10300.c.
References abort, ARG_POINTER_REGNUM, current_function_outgoing_args_size, fp_regs_to_save(), frame_pointer_needed, FRAME_POINTER_REGNUM, get_frame_size(), REG_SAVE_BYTES, regs_ever_live, and STACK_POINTER_REGNUM.
| bool legitimate_address_p | ( | enum machine_mode mode | , | |
| rtx | x, | |||
| int | strict | |||
| ) |
Definition at line 1856 of file mn10300.c.
References base, CONST, CONSTANT_ADDRESS_P, FALSE, flag_pic, GET_CODE, index(), legitimate_pic_operand_p(), PLUS, REG_P, REGNO, REGNO_STRICT_OK_FOR_BASE_P, RTX_OK_FOR_BASE_P, TARGET_AM33, TRUE, and XEXP.
| int legitimate_pic_operand_p | ( | rtx | x | ) |
Definition at line 1820 of file mn10300.c.
References GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, i, legitimate_pic_operand_p(), UNSPEC_GOT, UNSPEC_GOTOFF, XEXP, XINT, XVECEXP, and XVECLEN.
| rtx legitimize_address | ( | rtx x | , | |
| rtx oldx | ATTRIBUTE_UNUSED, | |||
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
Definition at line 1754 of file mn10300.c.
References CONST, flag_pic, force_operand(), force_reg(), gen_rtx_fmt_ee(), gen_rtx_PLUS, GET_CODE, legitimate_pic_operand_p(), legitimize_pic_address(), MINUS, NULL_RTX, PLUS, Pmode, symbolic_operand(), XEXP, and is::y.
Definition at line 1793 of file mn10300.c.
References CONSTANT_POOL_ADDRESS_P, emit_insn(), gen_reg_rtx(), GET_CODE, MN10300_GLOBAL_P, and Pmode.
| static int mn10300_address_cost | ( | rtx | x | ) | [static] |
| static int mn10300_address_cost_1 | ( | rtx | x, | |
| int * | unsig | |||
| ) | [static] |
Definition at line 1905 of file mn10300.c.
References abort, ADDRESS_REGS, AND, CONST, DATA_REGS, EXTENDED_REGS, FP_REGS, GET_CODE, INTVAL, MEM, MINUS, mn10300_address_cost(), NO_REGS, PLUS, REG, REGNO, REGNO_REG_CLASS, SP_REGS, and XEXP.
Referenced by mn10300_address_cost(), and mn10300_address_cost_1().
| static int mn10300_arg_partial_bytes | ( | CUMULATIVE_ARGS * | cum, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| bool named | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1539 of file mn10300.c.
References align, GET_MODE_SIZE, int_size_in_bytes(), nregs, NULL_TREE, size, and UNITS_PER_WORD.
| static int mn10300_arg_partial_bytes | ( | CUMULATIVE_ARGS * | , | |
| enum | machine_mode, | |||
| tree | , | |||
| bool | ||||
| ) | [static] |
Definition at line 2075 of file mn10300.c.
References gcc_target::binds_local_p, flag_pic, GET_CODE, MEM, SYMBOL_REF_FLAG, and XEXP.
Definition at line 114 of file mn10300.c.
References asm_out_file, default_file_start(), fprintf(), TARGET_AM33, and TARGET_AM33_2.
| void mn10300_gen_multiple_store | ( | int | mask | ) |
Definition at line 608 of file mn10300.c.
References address, count, emit_insn(), GEN_INT, gen_rtx_MEM(), gen_rtx_PARALLEL, gen_rtx_PLUS, gen_rtx_REG(), gen_rtx_SET, i, LAST_EXTENDED_REGNUM, rtvec_alloc(), RTX_FRAME_RELATED_P, stack_pointer_rtx, and XVECEXP.
| int mn10300_get_live_callee_saved_regs | ( | void | ) |
Definition at line 573 of file mn10300.c.
References call_used_regs, i, LAST_EXTENDED_REGNUM, and regs_ever_live.
| static bool mn10300_pass_by_reference | ( | CUMULATIVE_ARGS *cum | ATTRIBUTE_UNUSED, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| bool named | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1471 of file mn10300.c.
References GET_MODE_SIZE, HOST_WIDE_INT, int_size_in_bytes(), and size.
| static bool mn10300_pass_by_reference | ( | CUMULATIVE_ARGS * | , | |
| enum | machine_mode, | |||
| tree | , | |||
| bool | ||||
| ) | [static] |
Definition at line 1978 of file mn10300.c.
References CONST, DIV, INT_16_BITS, INT_8_BITS, INTVAL, MOD, and SET.
Definition at line 1462 of file mn10300.c.
References expand_builtin_saveregs(), and std_expand_builtin_va_start().
Definition at line 2030 of file mn10300.c.
References CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW, DATA_REGS, GET_CODE, GET_MODE, high, INTVAL, low, REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TO_TARGET_DOUBLE, REAL_VALUE_TYPE, REG, REGNO, REGNO_REG_CLASS, split_double(), and val.
Definition at line 1169 of file mn10300.c.
References abort, CC_NO_CARRY, CC_OVERFLOW_UNUSABLE, CC_STATUS_INIT, COMPARE, GET_CODE, GET_MODE, reg_overlap_mentioned_p(), SET_SRC, and XEXP.
Definition at line 1577 of file mn10300.c.
References call_used_regs, CONST0_RTX, EXTENDED_REGS, GET_CODE, GET_MODE, optimize, output_asm_insn(), PREV_INSN, REG_P, reg_set_between_p(), REGNO, REGNO_REG_CLASS, SET_DEST, SET_SRC, and single_set.
Definition at line 129 of file mn10300.c.
References abort, adjust_address, CONST, const0_rtx, CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW, EQ, fprintf(), fputc(), GE, GEN_INT, gen_rtx_PLUS, GET_CODE, GET_MODE, GT, high, INTVAL, LE, low, LT, MEM, NE, output_address(), PLUS, print_operand(), print_operand_address(), REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TO_TARGET_DOUBLE, REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TYPE, REG, reg_names, REGNO, reverse_condition(), reverse_condition_maybe_unordered(), split_double(), subreg_regno(), val, and XEXP.
Definition at line 456 of file mn10300.c.
References abort, base, fputc(), GET_CODE, index(), output_addr_const(), PLUS, print_operand(), print_operand_address(), REG, REG_OK_FOR_BASE_P, REG_P, and XEXP.
| enum reg_class secondary_reload_class | ( | enum reg_class | class, | |
| enum machine_mode mode | , | |||
| rtx | in | |||
| ) |
Definition at line 1314 of file mn10300.c.
References ADDRESS_OR_EXTENDED_REGS, ADDRESS_REGS, DATA_OR_EXTENDED_REGS, DATA_REGS, FIRST_PSEUDO_REGISTER, FP_REGS, GET_CODE, MEM, NO_REGS, OK_FOR_Q, PLUS, REG, REGNO, SP_OR_ADDRESS_OR_EXTENDED_REGS, SP_OR_ADDRESS_REGS, SP_OR_EXTENDED_REGS, SP_REGS, stack_pointer_rtx, SUBREG_REG, TARGET_AM33, TARGET_AM33_2, and XEXP.
| int store_multiple_operation | ( | rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
| int symbolic_operand | ( | register rtx | op, | |
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) |
| struct gcc_target targetm = TARGET_INITIALIZER |
1.5.6