Commit 56daab84 by Nathan Sidwell Committed by Nathan Sidwell

alpha.c (tls_symbolic_operand_1): Use gcc_assert and gcc_unreachable as appropriate.

	* config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
	and gcc_unreachable as appropriate.
	(get_aligned_mem, get_unaligned_address,
	alpha_emit_set_long_const, alpha_emit_conditional_branch,
	alpha_emit_setcc, alpha_emit_conditional_move,
	alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
	alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
	alpha_expand_unaligned_load, alpha_expand_block_move,
	alpha_expand_zap_mask, get_trap_mode_suffix,
	get_round_mode_suffix, get_some_local_dynamic_name,
	print_operand_address, function_arg, alpha_return_in_memory,
	function_value, alpha_expand_builtin,
	alpha_initial_elimination_offset, alpha_expand_epilogue,
	summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
	alphaev5_next_group, alpha_align_insns,
	unicosmk_initial_elimination_offset, unicosmk_unique_section,
	unicosmk_ssib_name): Likewise.
	* config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
	* config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
	ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
	* config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
	ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/alpha/alpha.md (*divmodsi_internal_er,
	*divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
	call_nt, call_umk, call_vms, call_value, sibcall_value,
	call_value_osf, call_value_nt, call_value_vms, call_value_umk,
	*call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
	* config/alpha/predicates.md (input_operand): Likewise.

Co-Authored-By: Falk Hueffner <falk@debian.org>

From-SVN: r99384
parent 44e91694
2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
Falk Hueffner <falk@debian.org>
* config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
and gcc_unreachable as appropriate.
(get_aligned_mem, get_unaligned_address,
alpha_emit_set_long_const, alpha_emit_conditional_branch,
alpha_emit_setcc, alpha_emit_conditional_move,
alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
alpha_expand_unaligned_load, alpha_expand_block_move,
alpha_expand_zap_mask, get_trap_mode_suffix,
get_round_mode_suffix, get_some_local_dynamic_name,
print_operand_address, function_arg, alpha_return_in_memory,
function_value, alpha_expand_builtin,
alpha_initial_elimination_offset, alpha_expand_epilogue,
summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
alphaev5_next_group, alpha_align_insns,
unicosmk_initial_elimination_offset, unicosmk_unique_section,
unicosmk_ssib_name): Likewise.
* config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
* config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
* config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/alpha/alpha.md (*divmodsi_internal_er,
*divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
call_nt, call_umk, call_vms, call_value, sibcall_value,
call_value_osf, call_value_nt, call_value_vms, call_value_umk,
*call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
* config/alpha/predicates.md (input_operand): Likewise.
2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
* config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
gcc_unreachable, as appropriate.
......
......@@ -1369,7 +1369,7 @@ do { \
/* This is how to output an element of a case-vector that is absolute.
(Alpha does not use such vectors, but we must define this macro anyway.) */
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) abort ()
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) gcc_unreachable ()
/* This is how to output an element of a case-vector that is relative. */
......
......@@ -1003,7 +1003,7 @@
str = "__remlu";
break;
default:
abort ();
gcc_unreachable ();
}
operands[4] = GEN_INT (alpha_next_sequence_number++);
emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
......@@ -1071,7 +1071,7 @@
str = "__remqu";
break;
default:
abort ();
gcc_unreachable ();
}
operands[4] = GEN_INT (alpha_next_sequence_number++);
emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
......@@ -1452,7 +1452,7 @@
case 1:
return "sll %r1,%2,%0";
default:
abort();
gcc_unreachable ();
}
}
[(set_attr "type" "iadd,shift")])
......@@ -2124,7 +2124,7 @@
== (unsigned HOST_WIDE_INT) INTVAL (operands[3]))
return "insll %1,%s2,%0";
#endif
abort();
gcc_unreachable ();
}
[(set_attr "type" "shift")])
......@@ -4497,8 +4497,7 @@
(unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF"
{
if (GET_CODE (operands[0]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[0]) == MEM);
operands[0] = XEXP (operands[0], 0);
})
......@@ -4509,8 +4508,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[0]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[0]) == MEM);
operands[0] = XEXP (operands[0], 0);
if (! call_operand (operands[0], Pmode))
......@@ -4523,8 +4521,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[0]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[0]) == MEM);
operands[0] = XEXP (operands[0], 0);
if (GET_CODE (operands[0]) != SYMBOL_REF && GET_CODE (operands[0]) != REG)
......@@ -4542,8 +4539,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[0]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[0]) == MEM);
/* Always load the address of the called function into a register;
load the CIW in $25. */
......@@ -4569,8 +4565,7 @@
(clobber (reg:DI 27))])]
""
{
if (GET_CODE (operands[0]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[0]) == MEM);
operands[0] = XEXP (operands[0], 0);
......@@ -4623,8 +4618,7 @@
(unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF"
{
if (GET_CODE (operands[1]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[1]) == MEM);
operands[1] = XEXP (operands[1], 0);
})
......@@ -4636,8 +4630,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[1]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[1]) == MEM);
operands[1] = XEXP (operands[1], 0);
if (! call_operand (operands[1], Pmode))
......@@ -4651,8 +4644,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[1]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[1]) == MEM);
operands[1] = XEXP (operands[1], 0);
if (GET_CODE (operands[1]) != SYMBOL_REF && GET_CODE (operands[1]) != REG)
......@@ -4669,8 +4661,7 @@
(clobber (reg:DI 27))])]
""
{
if (GET_CODE (operands[1]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[1]) == MEM);
operands[1] = XEXP (operands[1], 0);
......@@ -4701,8 +4692,7 @@
(clobber (reg:DI 26))])]
""
{
if (GET_CODE (operands[1]) != MEM)
abort ();
gcc_assert (GET_CODE (operands[1]) == MEM);
operands[1] = XEXP (operands[1], 0);
if (GET_CODE (operands[1]) != REG)
......@@ -4902,7 +4892,7 @@
operands [3] = alpha_use_linkage (operands [0], cfun->decl, 0, 0);
return "ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)";
default:
abort();
gcc_unreachable ();
}
}
[(set_attr "type" "jsr")
......@@ -5639,7 +5629,7 @@
;; VMS needs to set up "vms_base_regno" for unwinding. This move
;; often appears dead to the life analysis code, at which point we
;; abort for emitting dead prologue instructions. Force this live.
;; die for emitting dead prologue instructions. Force this live.
(define_insn "force_movdi"
[(set (match_operand:DI 0 "register_operand" "=r")
......@@ -6556,7 +6546,7 @@
case 1:
return "lda $16,%0\;lda $17,%2($31)\;lda $18,%1\;ldq $26,%5\;lda $25,3($31)\;jsr $26,%4\;ldq $27,0($29)";
default:
abort();
gcc_unreachable ();
}
}
[(set_attr "type" "multi")
......@@ -6613,7 +6603,7 @@
case 1:
return "lda $16,%0\;lda $17,%1($31)\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
default:
abort();
gcc_unreachable ();
}
}
[(set_attr "type" "multi")
......@@ -8036,7 +8026,7 @@
operands [4] = alpha_use_linkage (operands [1], cfun->decl, 0, 0);
return "ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)";
default:
abort();
gcc_unreachable ();
}
}
[(set_attr "type" "jsr")
......
......@@ -231,7 +231,7 @@
return add_operand (op, mode);
default:
abort ();
gcc_unreachable ();
}
return 0;
})
......@@ -506,7 +506,7 @@
;; Returns 1 if OP is not an eliminable register.
;;
;; This exists to cure a pathological abort in the s8addq (et al) patterns,
;; This exists to cure a pathological failure in the s8addq (et al) patterns,
;;
;; long foo () { long t; bar(); return (long) &t * 26107; }
;;
......
......@@ -230,7 +230,7 @@ do { fprintf (FILE, "\tbr $1,0\n"); \
/* We don't support nested functions (yet). */
#undef TRAMPOLINE_TEMPLATE
#define TRAMPOLINE_TEMPLATE(FILE) abort ()
#define TRAMPOLINE_TEMPLATE(FILE) gcc_unreachable ()
/* Specify the machine mode that this machine uses for the index in the
tablejump instruction. On Unicos/Mk, we don't support relative case
......@@ -374,7 +374,7 @@ ssib_section (void) \
(Unicos/Mk does not use such vectors yet). */
#undef ASM_OUTPUT_ADDR_DIFF_ELT
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) abort ()
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) gcc_unreachable ()
/* We can't output case vectors in the same section as the function code
because CAM doesn't allow data definitions in code sections. Thus, we
......@@ -384,7 +384,7 @@ ssib_section (void) \
#define ASM_OUTPUT_ADDR_VEC(LAB,VEC) \
unicosmk_defer_case_vector ((LAB),(VEC))
#define ASM_OUTPUT_ADDR_DIFF_VEC(LAB,VEC) abort ()
#define ASM_OUTPUT_ADDR_DIFF_VEC(LAB,VEC) gcc_unreachable ()
/* This is how to output an assembler line that says to advance the location
counter to a multiple of 2**LOG bytes. Annoyingly, CAM always uses zeroes
......
......@@ -136,15 +136,20 @@ Boston, MA 02111-1307, USA. */
#undef INITIAL_ELIMINATION_OFFSET
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
{ if ((FROM) == FRAME_POINTER_REGNUM) \
(OFFSET) = alpha_sa_size () + alpha_pv_save_size (); \
else if ((FROM) == ARG_POINTER_REGNUM) \
(OFFSET) = (ALPHA_ROUND (alpha_sa_size () + alpha_pv_save_size () \
+ get_frame_size () \
+ current_function_pretend_args_size) \
- current_function_pretend_args_size); \
else \
abort(); \
{ switch (FROM) \
{ \
case FRAME_POINTER_REGNUM: \
(OFFSET) = alpha_sa_size () + alpha_pv_save_size (); \
break; \
case ARG_POINTER_REGNUM: \
(OFFSET) = (ALPHA_ROUND (alpha_sa_size () + alpha_pv_save_size () \
+ get_frame_size () \
+ current_function_pretend_args_size) \
- current_function_pretend_args_size); \
break; \
default: \
gcc_unreachable (); \
} \
if ((TO) == STACK_POINTER_REGNUM) \
(OFFSET) += ALPHA_ROUND (current_function_outgoing_args_size); \
}
......@@ -227,7 +232,7 @@ extern void link_section (void);
extern void literals_section (void);
#undef ASM_OUTPUT_ADDR_DIFF_ELT
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) abort ()
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) gcc_unreachable ()
#undef ASM_OUTPUT_ADDR_VEC_ELT
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
......
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