Commit 0fb7aeda by Kazu Hirata Committed by Kazu Hirata

emit-rtl.c: Likewise.

	* emit-rtl.c: Likewise.
	* errors.h: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* expr.h: Likewise.

From-SVN: r54197
parent 1c8ec18b
2002-06-02 Kazu Hirata <kazu@cs.umass.edu> 2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
* emit-rtl.c: Likewise.
* errors.h: Likewise.
* except.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/elf.h: Fix formatting. * config/h8300/elf.h: Fix formatting.
* config/h8300/rtems.h: Likewise. * config/h8300/rtems.h: Likewise.
......
...@@ -650,7 +650,7 @@ gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...)) ...@@ -650,7 +650,7 @@ gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
HOST_WIDE_INT arg0 = va_arg (p, HOST_WIDE_INT); HOST_WIDE_INT arg0 = va_arg (p, HOST_WIDE_INT);
HOST_WIDE_INT arg1 = va_arg (p, HOST_WIDE_INT); HOST_WIDE_INT arg1 = va_arg (p, HOST_WIDE_INT);
rt_val = immed_double_const (arg0, arg1, mode); rt_val = immed_double_const (arg0, arg1, mode);
} }
break; break;
...@@ -3050,9 +3050,9 @@ mark_label_nuses (x) ...@@ -3050,9 +3050,9 @@ mark_label_nuses (x)
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{ {
if (fmt[i] == 'e') if (fmt[i] == 'e')
mark_label_nuses (XEXP (x, i)); mark_label_nuses (XEXP (x, i));
else if (fmt[i] == 'E') else if (fmt[i] == 'E')
for (j = XVECLEN (x, i) - 1; j >= 0; j--) for (j = XVECLEN (x, i) - 1; j >= 0; j--)
mark_label_nuses (XVECEXP (x, i, j)); mark_label_nuses (XVECEXP (x, i, j));
} }
} }
...@@ -3634,7 +3634,7 @@ find_line_note (insn) ...@@ -3634,7 +3634,7 @@ find_line_note (insn)
for (; insn; insn = PREV_INSN (insn)) for (; insn; insn = PREV_INSN (insn))
if (GET_CODE (insn) == NOTE if (GET_CODE (insn) == NOTE
&& NOTE_LINE_NUMBER (insn) >= 0) && NOTE_LINE_NUMBER (insn) >= 0)
break; break;
return insn; return insn;
...@@ -4162,10 +4162,10 @@ emit_insns_after (first, after) ...@@ -4162,10 +4162,10 @@ emit_insns_after (first, after)
{ {
bb->flags |= BB_DIRTY; bb->flags |= BB_DIRTY;
for (last = first; NEXT_INSN (last); last = NEXT_INSN (last)) for (last = first; NEXT_INSN (last); last = NEXT_INSN (last))
if (GET_CODE (last) != BARRIER) if (GET_CODE (last) != BARRIER)
set_block_for_insn (last, bb); set_block_for_insn (last, bb);
if (GET_CODE (last) != BARRIER) if (GET_CODE (last) != BARRIER)
set_block_for_insn (last, bb); set_block_for_insn (last, bb);
if (bb->end == after) if (bb->end == after)
bb->end = last; bb->end = last;
} }
......
...@@ -39,5 +39,5 @@ extern void fancy_abort PARAMS ((const char *, int, const char *)) ...@@ -39,5 +39,5 @@ extern void fancy_abort PARAMS ((const char *, int, const char *))
extern int have_error; extern int have_error;
extern const char *progname; extern const char *progname;
#endif /* ! GCC_ERRORS_H */ #endif /* ! GCC_ERRORS_H */
...@@ -851,11 +851,11 @@ expand_start_catch (type_or_list) ...@@ -851,11 +851,11 @@ expand_start_catch (type_or_list)
tree type_node; tree type_node;
if (TREE_CODE (type_or_list) != TREE_LIST) if (TREE_CODE (type_or_list) != TREE_LIST)
type_list = tree_cons (NULL_TREE, type_or_list, NULL_TREE); type_list = tree_cons (NULL_TREE, type_or_list, NULL_TREE);
type_node = type_list; type_node = type_list;
for (; type_node; type_node = TREE_CHAIN (type_node)) for (; type_node; type_node = TREE_CHAIN (type_node))
add_type_for_runtime (TREE_VALUE (type_node)); add_type_for_runtime (TREE_VALUE (type_node));
} }
expand_eh_region_start (); expand_eh_region_start ();
...@@ -1165,7 +1165,7 @@ remove_fixup_regions () ...@@ -1165,7 +1165,7 @@ remove_fixup_regions ()
/* Allow GC to maybe free some memory. */ /* Allow GC to maybe free some memory. */
if (fixup->type == ERT_CLEANUP) if (fixup->type == ERT_CLEANUP)
fixup->u.cleanup.exp = NULL_TREE; fixup->u.cleanup.exp = NULL_TREE;
if (fixup->type != ERT_FIXUP) if (fixup->type != ERT_FIXUP)
continue; continue;
...@@ -1221,23 +1221,23 @@ remove_unreachable_regions (insns) ...@@ -1221,23 +1221,23 @@ remove_unreachable_regions (insns)
continue; continue;
if (r->resume) if (r->resume)
{ {
if (uid_region_num[INSN_UID (r->resume)]) if (uid_region_num[INSN_UID (r->resume)])
abort (); abort ();
uid_region_num[INSN_UID (r->resume)] = i; uid_region_num[INSN_UID (r->resume)] = i;
} }
if (r->label) if (r->label)
{ {
if (uid_region_num[INSN_UID (r->label)]) if (uid_region_num[INSN_UID (r->label)])
abort (); abort ();
uid_region_num[INSN_UID (r->label)] = i; uid_region_num[INSN_UID (r->label)] = i;
} }
if (r->type == ERT_TRY && r->u.try.continue_label) if (r->type == ERT_TRY && r->u.try.continue_label)
{ {
if (uid_region_num[INSN_UID (r->u.try.continue_label)]) if (uid_region_num[INSN_UID (r->u.try.continue_label)])
abort (); abort ();
uid_region_num[INSN_UID (r->u.try.continue_label)] = i; uid_region_num[INSN_UID (r->u.try.continue_label)] = i;
} }
} }
for (insn = insns; insn; insn = NEXT_INSN (insn)) for (insn = insns; insn; insn = NEXT_INSN (insn))
...@@ -1415,7 +1415,7 @@ find_exception_handler_labels () ...@@ -1415,7 +1415,7 @@ find_exception_handler_labels ()
/* ??? The expansion factor here (3/2) must be greater than the htab /* ??? The expansion factor here (3/2) must be greater than the htab
occupancy factor (4/3) to avoid unnecessary resizing. */ occupancy factor (4/3) to avoid unnecessary resizing. */
exception_handler_label_map exception_handler_label_map
= htab_create (cfun->eh->last_region_number * 3 / 2, = htab_create (cfun->eh->last_region_number * 3 / 2,
ehl_hash, ehl_eq, ehl_free); ehl_hash, ehl_eq, ehl_free);
} }
...@@ -1529,9 +1529,9 @@ duplicate_eh_region_2 (o, n_array) ...@@ -1529,9 +1529,9 @@ duplicate_eh_region_2 (o, n_array)
case ERT_CATCH: case ERT_CATCH:
if (o->u.catch.next_catch) if (o->u.catch.next_catch)
n->u.catch.next_catch = n_array[o->u.catch.next_catch->region_number]; n->u.catch.next_catch = n_array[o->u.catch.next_catch->region_number];
if (o->u.catch.prev_catch) if (o->u.catch.prev_catch)
n->u.catch.prev_catch = n_array[o->u.catch.prev_catch->region_number]; n->u.catch.prev_catch = n_array[o->u.catch.prev_catch->region_number];
break; break;
default: default:
...@@ -2281,7 +2281,7 @@ sjlj_mark_call_sites (lp_info) ...@@ -2281,7 +2281,7 @@ sjlj_mark_call_sites (lp_info)
/* Don't separate a call from it's argument loads. */ /* Don't separate a call from it's argument loads. */
before = insn; before = insn;
if (GET_CODE (insn) == CALL_INSN) if (GET_CODE (insn) == CALL_INSN)
before = find_first_parameter_load (insn, NULL_RTX); before = find_first_parameter_load (insn, NULL_RTX);
start_sequence (); start_sequence ();
mem = adjust_address (cfun->eh->sjlj_fc, TYPE_MODE (integer_type_node), mem = adjust_address (cfun->eh->sjlj_fc, TYPE_MODE (integer_type_node),
...@@ -2600,7 +2600,7 @@ remove_eh_handler (region) ...@@ -2600,7 +2600,7 @@ remove_eh_handler (region)
if (outer) if (outer)
{ {
if (!outer->aka) if (!outer->aka)
outer->aka = BITMAP_XMALLOC (); outer->aka = BITMAP_XMALLOC ();
if (region->aka) if (region->aka)
bitmap_a_or_b (outer->aka, outer->aka, region->aka); bitmap_a_or_b (outer->aka, outer->aka, region->aka);
bitmap_set_bit (outer->aka, region->region_number); bitmap_set_bit (outer->aka, region->region_number);
...@@ -2941,7 +2941,7 @@ reachable_next_level (region, type_thrown, info) ...@@ -2941,7 +2941,7 @@ reachable_next_level (region, type_thrown, info)
if (info && info->handlers) if (info && info->handlers)
{ {
add_reachable_handler (info, region, region); add_reachable_handler (info, region, region);
return RNL_CAUGHT; return RNL_CAUGHT;
} }
else else
return RNL_BLOCKED; return RNL_BLOCKED;
...@@ -3061,7 +3061,7 @@ can_throw_internal (insn) ...@@ -3061,7 +3061,7 @@ can_throw_internal (insn)
if (how == RNL_BLOCKED) if (how == RNL_BLOCKED)
return false; return false;
if (how != RNL_NOT_CAUGHT) if (how != RNL_NOT_CAUGHT)
return true; return true;
} }
return false; return false;
...@@ -3965,7 +3965,7 @@ output_function_exception_table () ...@@ -3965,7 +3965,7 @@ output_function_exception_table ()
assemble_integer (value, tt_format_size, assemble_integer (value, tt_format_size,
tt_format_size * BITS_PER_UNIT, 1); tt_format_size * BITS_PER_UNIT, 1);
else else
dw2_asm_output_encoded_addr_rtx (tt_format, value, NULL); dw2_asm_output_encoded_addr_rtx (tt_format, value, NULL);
} }
#ifdef HAVE_AS_LEB128 #ifdef HAVE_AS_LEB128
......
...@@ -391,7 +391,7 @@ convert_memory_address (to_mode, x) ...@@ -391,7 +391,7 @@ convert_memory_address (to_mode, x)
case CONST: case CONST:
if (POINTERS_EXTEND_UNSIGNED >= 0) if (POINTERS_EXTEND_UNSIGNED >= 0)
return gen_rtx_CONST (to_mode, return gen_rtx_CONST (to_mode,
convert_memory_address (to_mode, XEXP (x, 0))); convert_memory_address (to_mode, XEXP (x, 0)));
break; break;
...@@ -1375,7 +1375,7 @@ allocate_dynamic_stack_space (size, target, known_align) ...@@ -1375,7 +1375,7 @@ allocate_dynamic_stack_space (size, target, known_align)
#ifdef SETJMP_VIA_SAVE_AREA #ifdef SETJMP_VIA_SAVE_AREA
if (setjmpless_size != NULL_RTX) if (setjmpless_size != NULL_RTX)
{ {
rtx note_target = get_last_insn (); rtx note_target = get_last_insn ();
REG_NOTES (note_target) REG_NOTES (note_target)
= gen_rtx_EXPR_LIST (REG_SAVE_AREA, setjmpless_size, = gen_rtx_EXPR_LIST (REG_SAVE_AREA, setjmpless_size,
...@@ -1620,17 +1620,17 @@ hard_function_value (valtype, func, outgoing) ...@@ -1620,17 +1620,17 @@ hard_function_value (valtype, func, outgoing)
will match and we will abort later in this function. */ will match and we will abort later in this function. */
for (tmpmode = GET_CLASS_NARROWEST_MODE (MODE_INT); for (tmpmode = GET_CLASS_NARROWEST_MODE (MODE_INT);
tmpmode != VOIDmode; tmpmode != VOIDmode;
tmpmode = GET_MODE_WIDER_MODE (tmpmode)) tmpmode = GET_MODE_WIDER_MODE (tmpmode))
{ {
/* Have we found a large enough mode? */ /* Have we found a large enough mode? */
if (GET_MODE_SIZE (tmpmode) >= bytes) if (GET_MODE_SIZE (tmpmode) >= bytes)
break; break;
} }
/* No suitable mode found. */ /* No suitable mode found. */
if (tmpmode == VOIDmode) if (tmpmode == VOIDmode)
abort (); abort ();
PUT_MODE (val, tmpmode); PUT_MODE (val, tmpmode);
} }
......
...@@ -347,7 +347,7 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, total_size) ...@@ -347,7 +347,7 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, total_size)
&& (GET_CODE (op0) != MEM && (GET_CODE (op0) != MEM
? ((GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD ? ((GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD
|| GET_MODE_SIZE (GET_MODE (op0)) == GET_MODE_SIZE (fieldmode)) || GET_MODE_SIZE (GET_MODE (op0)) == GET_MODE_SIZE (fieldmode))
&& byte_offset % GET_MODE_SIZE (fieldmode) == 0) && byte_offset % GET_MODE_SIZE (fieldmode) == 0)
: (! SLOW_UNALIGNED_ACCESS (fieldmode, MEM_ALIGN (op0)) : (! SLOW_UNALIGNED_ACCESS (fieldmode, MEM_ALIGN (op0))
|| (offset * BITS_PER_UNIT % bitsize == 0 || (offset * BITS_PER_UNIT % bitsize == 0
&& MEM_ALIGN (op0) % GET_MODE_BITSIZE (fieldmode) == 0)))) && MEM_ALIGN (op0) % GET_MODE_BITSIZE (fieldmode) == 0))))
...@@ -675,7 +675,7 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, total_size) ...@@ -675,7 +675,7 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, total_size)
if (pat) if (pat)
emit_insn (pat); emit_insn (pat);
else else
{ {
delete_insns_since (last); delete_insns_since (last);
store_fixed_bit_field (op0, offset, bitsize, bitpos, value); store_fixed_bit_field (op0, offset, bitsize, bitpos, value);
} }
...@@ -737,8 +737,8 @@ store_fixed_bit_field (op0, offset, bitsize, bitpos, value) ...@@ -737,8 +737,8 @@ store_fixed_bit_field (op0, offset, bitsize, bitpos, value)
mode = GET_MODE (op0); mode = GET_MODE (op0);
if (GET_MODE_BITSIZE (mode) == 0 if (GET_MODE_BITSIZE (mode) == 0
|| GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (word_mode)) || GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (word_mode))
mode = word_mode; mode = word_mode;
mode = get_best_mode (bitsize, bitpos + offset * BITS_PER_UNIT, mode = get_best_mode (bitsize, bitpos + offset * BITS_PER_UNIT,
MEM_ALIGN (op0), mode, MEM_VOLATILE_P (op0)); MEM_ALIGN (op0), mode, MEM_VOLATILE_P (op0));
...@@ -1109,8 +1109,8 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp, ...@@ -1109,8 +1109,8 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
+ (offset * UNITS_PER_WORD); + (offset * UNITS_PER_WORD);
mode1 = (VECTOR_MODE_P (tmode) mode1 = (VECTOR_MODE_P (tmode)
? mode ? mode
: mode_for_size (bitsize, GET_MODE_CLASS (tmode), 0)); : mode_for_size (bitsize, GET_MODE_CLASS (tmode), 0));
if (((GET_CODE (op0) != MEM if (((GET_CODE (op0) != MEM
&& TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
...@@ -1928,9 +1928,9 @@ expand_shift (code, mode, shifted, amount, target, unsignedp) ...@@ -1928,9 +1928,9 @@ expand_shift (code, mode, shifted, amount, target, unsignedp)
if (SHIFT_COUNT_TRUNCATED) if (SHIFT_COUNT_TRUNCATED)
{ {
if (GET_CODE (op1) == CONST_INT if (GET_CODE (op1) == CONST_INT
&& ((unsigned HOST_WIDE_INT) INTVAL (op1) >= && ((unsigned HOST_WIDE_INT) INTVAL (op1) >=
(unsigned HOST_WIDE_INT) GET_MODE_BITSIZE (mode))) (unsigned HOST_WIDE_INT) GET_MODE_BITSIZE (mode)))
op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1) op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1)
% GET_MODE_BITSIZE (mode)); % GET_MODE_BITSIZE (mode));
else if (GET_CODE (op1) == SUBREG else if (GET_CODE (op1) == SUBREG
&& subreg_lowpart_p (op1)) && subreg_lowpart_p (op1))
...@@ -2566,8 +2566,8 @@ expand_mult (mode, op0, op1, target, unsignedp) ...@@ -2566,8 +2566,8 @@ expand_mult (mode, op0, op1, target, unsignedp)
there is no difference between signed and unsigned. */ there is no difference between signed and unsigned. */
op0 = expand_binop (mode, op0 = expand_binop (mode,
! unsignedp ! unsignedp
&& flag_trapv && (GET_MODE_CLASS(mode) == MODE_INT) && flag_trapv && (GET_MODE_CLASS(mode) == MODE_INT)
? smulv_optab : smul_optab, ? smulv_optab : smul_optab,
op0, op1, target, unsignedp, OPTAB_LIB_WIDEN); op0, op1, target, unsignedp, OPTAB_LIB_WIDEN);
if (op0 == 0) if (op0 == 0)
abort (); abort ();
...@@ -3012,9 +3012,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) ...@@ -3012,9 +3012,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
if (! unsignedp && op1 == constm1_rtx) if (! unsignedp && op1 == constm1_rtx)
{ {
if (rem_flag) if (rem_flag)
return const0_rtx; return const0_rtx;
return expand_unop (mode, flag_trapv && GET_MODE_CLASS(mode) == MODE_INT return expand_unop (mode, flag_trapv && GET_MODE_CLASS(mode) == MODE_INT
? negv_optab : neg_optab, op0, target, 0); ? negv_optab : neg_optab, op0, target, 0);
} }
if (target if (target
......
...@@ -277,7 +277,7 @@ init_expr_once () ...@@ -277,7 +277,7 @@ init_expr_once ()
{ {
enum machine_mode srcmode; enum machine_mode srcmode;
for (srcmode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); srcmode != mode; for (srcmode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); srcmode != mode;
srcmode = GET_MODE_WIDER_MODE (srcmode)) srcmode = GET_MODE_WIDER_MODE (srcmode))
{ {
enum insn_code ic; enum insn_code ic;
...@@ -286,7 +286,7 @@ init_expr_once () ...@@ -286,7 +286,7 @@ init_expr_once ()
continue; continue;
PUT_MODE (mem, srcmode); PUT_MODE (mem, srcmode);
if ((*insn_data[ic].operand[1].predicate) (mem, srcmode)) if ((*insn_data[ic].operand[1].predicate) (mem, srcmode))
float_extend_from_mem[mode][srcmode] = true; float_extend_from_mem[mode][srcmode] = true;
} }
...@@ -3054,7 +3054,7 @@ emit_move_insn_1 (x, y) ...@@ -3054,7 +3054,7 @@ emit_move_insn_1 (x, y)
{ {
rtx temp; rtx temp;
enum rtx_code code; enum rtx_code code;
/* Do not use anti_adjust_stack, since we don't want to update /* Do not use anti_adjust_stack, since we don't want to update
stack_pointer_delta. */ stack_pointer_delta. */
temp = expand_binop (Pmode, temp = expand_binop (Pmode,
...@@ -3069,18 +3069,18 @@ emit_move_insn_1 (x, y) ...@@ -3069,18 +3069,18 @@ emit_move_insn_1 (x, y)
(GET_MODE_SIZE (GET_MODE (x)))), (GET_MODE_SIZE (GET_MODE (x)))),
stack_pointer_rtx, 0, OPTAB_LIB_WIDEN); stack_pointer_rtx, 0, OPTAB_LIB_WIDEN);
if (temp != stack_pointer_rtx) if (temp != stack_pointer_rtx)
emit_move_insn (stack_pointer_rtx, temp); emit_move_insn (stack_pointer_rtx, temp);
code = GET_CODE (XEXP (x, 0)); code = GET_CODE (XEXP (x, 0));
/* Just hope that small offsets off SP are OK. */ /* Just hope that small offsets off SP are OK. */
if (code == POST_INC) if (code == POST_INC)
temp = gen_rtx_PLUS (Pmode, stack_pointer_rtx, temp = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
GEN_INT (-((HOST_WIDE_INT) GEN_INT (-((HOST_WIDE_INT)
GET_MODE_SIZE (GET_MODE (x))))); GET_MODE_SIZE (GET_MODE (x)))));
else if (code == POST_DEC) else if (code == POST_DEC)
temp = gen_rtx_PLUS (Pmode, stack_pointer_rtx, temp = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
GEN_INT (GET_MODE_SIZE (GET_MODE (x)))); GEN_INT (GET_MODE_SIZE (GET_MODE (x))));
else else
temp = stack_pointer_rtx; temp = stack_pointer_rtx;
...@@ -3357,7 +3357,7 @@ emit_single_push_insn (mode, x, type) ...@@ -3357,7 +3357,7 @@ emit_single_push_insn (mode, x, type)
void void
emit_push_insn (x, mode, type, size, align, partial, reg, extra, emit_push_insn (x, mode, type, size, align, partial, reg, extra,
args_addr, args_so_far, reg_parm_stack_space, args_addr, args_so_far, reg_parm_stack_space,
alignment_pad) alignment_pad)
rtx x; rtx x;
enum machine_mode mode; enum machine_mode mode;
tree type; tree type;
...@@ -3384,7 +3384,7 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra, ...@@ -3384,7 +3384,7 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
Default is below for small data on big-endian machines; else above. */ Default is below for small data on big-endian machines; else above. */
enum direction where_pad = FUNCTION_ARG_PADDING (mode, type); enum direction where_pad = FUNCTION_ARG_PADDING (mode, type);
/* Invert direction if stack is post-decrement. /* Invert direction if stack is post-decrement.
FIXME: why? */ FIXME: why? */
if (STACK_PUSH_CODE == POST_DEC) if (STACK_PUSH_CODE == POST_DEC)
if (where_pad != none) if (where_pad != none)
...@@ -4174,7 +4174,7 @@ store_expr (exp, target, want_value) ...@@ -4174,7 +4174,7 @@ store_expr (exp, target, want_value)
{ {
temp = gen_lowpart_SUBREG (GET_MODE (target), temp); temp = gen_lowpart_SUBREG (GET_MODE (target), temp);
SUBREG_PROMOTED_VAR_P (temp) = 1; SUBREG_PROMOTED_VAR_P (temp) = 1;
SUBREG_PROMOTED_UNSIGNED_SET (temp, SUBREG_PROMOTED_UNSIGNED_SET (temp,
SUBREG_PROMOTED_UNSIGNED_P (target)); SUBREG_PROMOTED_UNSIGNED_P (target));
} }
else else
...@@ -6456,7 +6456,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -6456,7 +6456,7 @@ expand_expr (exp, target, tmode, modifier)
/* Get the signedness used for this variable. Ensure we get the /* Get the signedness used for this variable. Ensure we get the
same mode we got when the variable was declared. */ same mode we got when the variable was declared. */
if (GET_MODE (DECL_RTL (exp)) if (GET_MODE (DECL_RTL (exp))
!= promote_mode (type, DECL_MODE (exp), &unsignedp, != promote_mode (type, DECL_MODE (exp), &unsignedp,
(TREE_CODE (exp) == RESULT_DECL ? 1 : 0))) (TREE_CODE (exp) == RESULT_DECL ? 1 : 0)))
abort (); abort ();
...@@ -6773,9 +6773,9 @@ expand_expr (exp, target, tmode, modifier) ...@@ -6773,9 +6773,9 @@ expand_expr (exp, target, tmode, modifier)
&& (! MOVE_BY_PIECES_P && (! MOVE_BY_PIECES_P
(tree_low_cst (TYPE_SIZE_UNIT (type), 1), (tree_low_cst (TYPE_SIZE_UNIT (type), 1),
TYPE_ALIGN (type))) TYPE_ALIGN (type)))
&& ((TREE_CODE (type) == VECTOR_TYPE && ((TREE_CODE (type) == VECTOR_TYPE
&& !is_zeros_p (exp)) && !is_zeros_p (exp))
|| ! mostly_zeros_p (exp))))) || ! mostly_zeros_p (exp)))))
|| (modifier == EXPAND_INITIALIZER && TREE_CONSTANT (exp))) || (modifier == EXPAND_INITIALIZER && TREE_CONSTANT (exp)))
{ {
rtx constructor = output_constant_def (exp, 1); rtx constructor = output_constant_def (exp, 1);
...@@ -6812,14 +6812,14 @@ expand_expr (exp, target, tmode, modifier) ...@@ -6812,14 +6812,14 @@ expand_expr (exp, target, tmode, modifier)
tree string = string_constant (exp1, &index); tree string = string_constant (exp1, &index);
/* Try to optimize reads from const strings. */ /* Try to optimize reads from const strings. */
if (string if (string
&& TREE_CODE (string) == STRING_CST && TREE_CODE (string) == STRING_CST
&& TREE_CODE (index) == INTEGER_CST && TREE_CODE (index) == INTEGER_CST
&& compare_tree_int (index, TREE_STRING_LENGTH (string)) < 0 && compare_tree_int (index, TREE_STRING_LENGTH (string)) < 0
&& GET_MODE_CLASS (mode) == MODE_INT && GET_MODE_CLASS (mode) == MODE_INT
&& GET_MODE_SIZE (mode) == 1 && GET_MODE_SIZE (mode) == 1
&& modifier != EXPAND_WRITE) && modifier != EXPAND_WRITE)
return gen_int_mode (TREE_STRING_POINTER (string) return gen_int_mode (TREE_STRING_POINTER (string)
[TREE_INT_CST_LOW (index)], mode); [TREE_INT_CST_LOW (index)], mode);
op0 = expand_expr (exp1, NULL_RTX, VOIDmode, EXPAND_SUM); op0 = expand_expr (exp1, NULL_RTX, VOIDmode, EXPAND_SUM);
...@@ -7428,7 +7428,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -7428,7 +7428,7 @@ expand_expr (exp, target, tmode, modifier)
&& (TREE_CODE (TREE_OPERAND (TREE_OPERAND (exp, 0), 0)) && (TREE_CODE (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))
== FUNCTION_DECL) == FUNCTION_DECL)
&& DECL_BUILT_IN (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))) && DECL_BUILT_IN (TREE_OPERAND (TREE_OPERAND (exp, 0), 0)))
{ {
if (DECL_BUILT_IN_CLASS (TREE_OPERAND (TREE_OPERAND (exp, 0), 0)) if (DECL_BUILT_IN_CLASS (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))
== BUILT_IN_FRONTEND) == BUILT_IN_FRONTEND)
return (*lang_hooks.expand_expr) return (*lang_hooks.expand_expr)
...@@ -7511,7 +7511,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -7511,7 +7511,7 @@ expand_expr (exp, target, tmode, modifier)
tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
enum machine_mode inner_mode = TYPE_MODE (inner_type); enum machine_mode inner_mode = TYPE_MODE (inner_type);
if (modifier == EXPAND_INITIALIZER) if (modifier == EXPAND_INITIALIZER)
return simplify_gen_subreg (mode, op0, inner_mode, return simplify_gen_subreg (mode, op0, inner_mode,
subreg_lowpart_offset (mode, subreg_lowpart_offset (mode,
inner_mode)); inner_mode));
...@@ -7598,7 +7598,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -7598,7 +7598,7 @@ expand_expr (exp, target, tmode, modifier)
op0 = new; op0 = new;
} }
op0 = adjust_address (op0, TYPE_MODE (type), 0); op0 = adjust_address (op0, TYPE_MODE (type), 0);
} }
...@@ -7645,7 +7645,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -7645,7 +7645,7 @@ expand_expr (exp, target, tmode, modifier)
If this is an EXPAND_SUM call, always return the sum. */ If this is an EXPAND_SUM call, always return the sum. */
if (modifier == EXPAND_SUM || modifier == EXPAND_INITIALIZER if (modifier == EXPAND_SUM || modifier == EXPAND_INITIALIZER
|| (mode == ptr_mode && (unsignedp || ! flag_trapv))) || (mode == ptr_mode && (unsignedp || ! flag_trapv)))
{ {
if (TREE_CODE (TREE_OPERAND (exp, 0)) == INTEGER_CST if (TREE_CODE (TREE_OPERAND (exp, 0)) == INTEGER_CST
&& GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
...@@ -7994,9 +7994,9 @@ expand_expr (exp, target, tmode, modifier) ...@@ -7994,9 +7994,9 @@ expand_expr (exp, target, tmode, modifier)
case NEGATE_EXPR: case NEGATE_EXPR:
op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
temp = expand_unop (mode, temp = expand_unop (mode,
! unsignedp && flag_trapv ! unsignedp && flag_trapv
&& (GET_MODE_CLASS(mode) == MODE_INT) && (GET_MODE_CLASS(mode) == MODE_INT)
? negv_optab : neg_optab, op0, target, 0); ? negv_optab : neg_optab, op0, target, 0);
if (temp == 0) if (temp == 0)
abort (); abort ();
return temp; return temp;
...@@ -8172,7 +8172,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -8172,7 +8172,7 @@ expand_expr (exp, target, tmode, modifier)
enum machine_mode mode1 = GET_MODE (temp); enum machine_mode mode1 = GET_MODE (temp);
if (mode1 == VOIDmode) if (mode1 == VOIDmode)
mode1 = tmode != VOIDmode ? tmode : mode; mode1 = tmode != VOIDmode ? tmode : mode;
temp = copy_to_mode_reg (mode1, temp); temp = copy_to_mode_reg (mode1, temp);
} }
...@@ -8352,13 +8352,13 @@ expand_expr (exp, target, tmode, modifier) ...@@ -8352,13 +8352,13 @@ expand_expr (exp, target, tmode, modifier)
{ {
rtx result; rtx result;
optab boptab = (TREE_CODE (binary_op) == PLUS_EXPR optab boptab = (TREE_CODE (binary_op) == PLUS_EXPR
? (TYPE_TRAP_SIGNED (TREE_TYPE (binary_op)) ? (TYPE_TRAP_SIGNED (TREE_TYPE (binary_op))
? addv_optab : add_optab) ? addv_optab : add_optab)
: TREE_CODE (binary_op) == MINUS_EXPR : TREE_CODE (binary_op) == MINUS_EXPR
? (TYPE_TRAP_SIGNED (TREE_TYPE (binary_op)) ? (TYPE_TRAP_SIGNED (TREE_TYPE (binary_op))
? subv_optab : sub_optab) ? subv_optab : sub_optab)
: TREE_CODE (binary_op) == BIT_IOR_EXPR ? ior_optab : TREE_CODE (binary_op) == BIT_IOR_EXPR ? ior_optab
: xor_optab); : xor_optab);
/* If we had X ? A : A + 1, do this as A + (X == 0). /* If we had X ? A : A + 1, do this as A + (X == 0).
...@@ -8673,7 +8673,7 @@ expand_expr (exp, target, tmode, modifier) ...@@ -8673,7 +8673,7 @@ expand_expr (exp, target, tmode, modifier)
} }
temp = expand_assignment (lhs, rhs, ! ignore, original_target != 0); temp = expand_assignment (lhs, rhs, ! ignore, original_target != 0);
return temp; return temp;
} }
...@@ -8762,11 +8762,11 @@ expand_expr (exp, target, tmode, modifier) ...@@ -8762,11 +8762,11 @@ expand_expr (exp, target, tmode, modifier)
/* Handle calls that pass values in multiple /* Handle calls that pass values in multiple
non-contiguous locations. The Irix 6 ABI has examples non-contiguous locations. The Irix 6 ABI has examples
of this. */ of this. */
emit_group_store (memloc, op0, emit_group_store (memloc, op0,
int_size_in_bytes (inner_type)); int_size_in_bytes (inner_type));
else else
emit_move_insn (memloc, op0); emit_move_insn (memloc, op0);
op0 = memloc; op0 = memloc;
} }
} }
...@@ -8904,9 +8904,9 @@ expand_expr (exp, target, tmode, modifier) ...@@ -8904,9 +8904,9 @@ expand_expr (exp, target, tmode, modifier)
imag_t = gen_imagpart (partmode, target); imag_t = gen_imagpart (partmode, target);
temp = expand_unop (partmode, temp = expand_unop (partmode,
! unsignedp && flag_trapv ! unsignedp && flag_trapv
&& (GET_MODE_CLASS(partmode) == MODE_INT) && (GET_MODE_CLASS(partmode) == MODE_INT)
? negv_optab : neg_optab, ? negv_optab : neg_optab,
gen_imagpart (partmode, op0), imag_t, 0); gen_imagpart (partmode, op0), imag_t, 0);
if (temp != imag_t) if (temp != imag_t)
emit_move_insn (imag_t, temp); emit_move_insn (imag_t, temp);
...@@ -9737,7 +9737,7 @@ do_jump (exp, if_false_label, if_true_label) ...@@ -9737,7 +9737,7 @@ do_jump (exp, if_false_label, if_true_label)
|| rcmp == UNORDERED)) || rcmp == UNORDERED))
do_rev = 1; do_rev = 1;
if (! do_rev) if (! do_rev)
do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label); do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label);
else else
do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label); do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label);
...@@ -9770,7 +9770,7 @@ do_jump (exp, if_false_label, if_true_label) ...@@ -9770,7 +9770,7 @@ do_jump (exp, if_false_label, if_true_label)
goto unordered_bcc; goto unordered_bcc;
unordered_bcc: unordered_bcc:
mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))); mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
if (can_compare_p (rcode1, mode, ccp_jump)) if (can_compare_p (rcode1, mode, ccp_jump))
do_compare_and_jump (exp, rcode1, rcode1, if_false_label, do_compare_and_jump (exp, rcode1, rcode1, if_false_label,
if_true_label); if_true_label);
...@@ -9839,7 +9839,7 @@ do_jump (exp, if_false_label, if_true_label) ...@@ -9839,7 +9839,7 @@ do_jump (exp, if_false_label, if_true_label)
/* Do any postincrements in the expression that was tested. */ /* Do any postincrements in the expression that was tested. */
emit_queue (); emit_queue ();
if (GET_CODE (temp) == CONST_INT if (GET_CODE (temp) == CONST_INT
|| (GET_CODE (temp) == CONST_DOUBLE && GET_MODE (temp) == VOIDmode) || (GET_CODE (temp) == CONST_DOUBLE && GET_MODE (temp) == VOIDmode)
|| GET_CODE (temp) == LABEL_REF) || GET_CODE (temp) == LABEL_REF)
{ {
......
...@@ -132,7 +132,7 @@ enum direction {none, upward, downward}; /* Value has this type. */ ...@@ -132,7 +132,7 @@ enum direction {none, upward, downward}; /* Value has this type. */
/* Supply a default definition for FUNCTION_ARG_BOUNDARY. Normally, we let /* Supply a default definition for FUNCTION_ARG_BOUNDARY. Normally, we let
FUNCTION_ARG_PADDING, which also pads the length, handle any needed FUNCTION_ARG_PADDING, which also pads the length, handle any needed
alignment. */ alignment. */
#ifndef FUNCTION_ARG_BOUNDARY #ifndef FUNCTION_ARG_BOUNDARY
#define FUNCTION_ARG_BOUNDARY(MODE, TYPE) PARM_BOUNDARY #define FUNCTION_ARG_BOUNDARY(MODE, TYPE) PARM_BOUNDARY
#endif #endif
...@@ -289,7 +289,7 @@ extern rtx gen_move_insn PARAMS ((rtx, rtx)); ...@@ -289,7 +289,7 @@ extern rtx gen_move_insn PARAMS ((rtx, rtx));
extern int have_add2_insn PARAMS ((rtx, rtx)); extern int have_add2_insn PARAMS ((rtx, rtx));
extern int have_sub2_insn PARAMS ((rtx, rtx)); extern int have_sub2_insn PARAMS ((rtx, rtx));
/* Emit a pair of rtl insns to compare two rtx's and to jump /* Emit a pair of rtl insns to compare two rtx's and to jump
to a label if the comparison is true. */ to a label if the comparison is true. */
extern void emit_cmp_and_jump_insns PARAMS ((rtx, rtx, enum rtx_code, rtx, extern void emit_cmp_and_jump_insns PARAMS ((rtx, rtx, enum rtx_code, rtx,
enum machine_mode, int, rtx)); enum machine_mode, int, rtx));
...@@ -727,7 +727,7 @@ extern void emit_stack_restore PARAMS ((enum save_level, rtx, rtx)); ...@@ -727,7 +727,7 @@ extern void emit_stack_restore PARAMS ((enum save_level, rtx, rtx));
says how many bytes. */ says how many bytes. */
extern rtx allocate_dynamic_stack_space PARAMS ((rtx, rtx, int)); extern rtx allocate_dynamic_stack_space PARAMS ((rtx, rtx, int));
/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive. /* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
FIRST is a constant and size is a Pmode RTX. These are offsets from the FIRST is a constant and size is a Pmode RTX. These are offsets from the
current stack pointer. STACK_GROWS_DOWNWARD says whether to add or current stack pointer. STACK_GROWS_DOWNWARD says whether to add or
subtract from the stack. If SIZE is constant, this is done subtract from the stack. If SIZE is constant, this is done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment