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> 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 * config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
gcc_unreachable, as appropriate. gcc_unreachable, as appropriate.
......
...@@ -1369,7 +1369,7 @@ do { \ ...@@ -1369,7 +1369,7 @@ do { \
/* This is how to output an element of a case-vector that is absolute. /* 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.) */ (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. */ /* This is how to output an element of a case-vector that is relative. */
......
...@@ -1003,7 +1003,7 @@ ...@@ -1003,7 +1003,7 @@
str = "__remlu"; str = "__remlu";
break; break;
default: default:
abort (); gcc_unreachable ();
} }
operands[4] = GEN_INT (alpha_next_sequence_number++); operands[4] = GEN_INT (alpha_next_sequence_number++);
emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx, emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
...@@ -1071,7 +1071,7 @@ ...@@ -1071,7 +1071,7 @@
str = "__remqu"; str = "__remqu";
break; break;
default: default:
abort (); gcc_unreachable ();
} }
operands[4] = GEN_INT (alpha_next_sequence_number++); operands[4] = GEN_INT (alpha_next_sequence_number++);
emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx, emit_insn (gen_movdi_er_high_g (operands[0], pic_offset_table_rtx,
...@@ -1452,7 +1452,7 @@ ...@@ -1452,7 +1452,7 @@
case 1: case 1:
return "sll %r1,%2,%0"; return "sll %r1,%2,%0";
default: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "iadd,shift")]) [(set_attr "type" "iadd,shift")])
...@@ -2124,7 +2124,7 @@ ...@@ -2124,7 +2124,7 @@
== (unsigned HOST_WIDE_INT) INTVAL (operands[3])) == (unsigned HOST_WIDE_INT) INTVAL (operands[3]))
return "insll %1,%s2,%0"; return "insll %1,%s2,%0";
#endif #endif
abort(); gcc_unreachable ();
} }
[(set_attr "type" "shift")]) [(set_attr "type" "shift")])
...@@ -4497,8 +4497,7 @@ ...@@ -4497,8 +4497,7 @@
(unspec [(reg:DI 29)] UNSPEC_SIBCALL)])] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF" "TARGET_ABI_OSF"
{ {
if (GET_CODE (operands[0]) != MEM) gcc_assert (GET_CODE (operands[0]) == MEM);
abort ();
operands[0] = XEXP (operands[0], 0); operands[0] = XEXP (operands[0], 0);
}) })
...@@ -4509,8 +4508,7 @@ ...@@ -4509,8 +4508,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[0]) != MEM) gcc_assert (GET_CODE (operands[0]) == MEM);
abort ();
operands[0] = XEXP (operands[0], 0); operands[0] = XEXP (operands[0], 0);
if (! call_operand (operands[0], Pmode)) if (! call_operand (operands[0], Pmode))
...@@ -4523,8 +4521,7 @@ ...@@ -4523,8 +4521,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[0]) != MEM) gcc_assert (GET_CODE (operands[0]) == MEM);
abort ();
operands[0] = XEXP (operands[0], 0); operands[0] = XEXP (operands[0], 0);
if (GET_CODE (operands[0]) != SYMBOL_REF && GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != SYMBOL_REF && GET_CODE (operands[0]) != REG)
...@@ -4542,8 +4539,7 @@ ...@@ -4542,8 +4539,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[0]) != MEM) gcc_assert (GET_CODE (operands[0]) == MEM);
abort ();
/* Always load the address of the called function into a register; /* Always load the address of the called function into a register;
load the CIW in $25. */ load the CIW in $25. */
...@@ -4569,8 +4565,7 @@ ...@@ -4569,8 +4565,7 @@
(clobber (reg:DI 27))])] (clobber (reg:DI 27))])]
"" ""
{ {
if (GET_CODE (operands[0]) != MEM) gcc_assert (GET_CODE (operands[0]) == MEM);
abort ();
operands[0] = XEXP (operands[0], 0); operands[0] = XEXP (operands[0], 0);
...@@ -4623,8 +4618,7 @@ ...@@ -4623,8 +4618,7 @@
(unspec [(reg:DI 29)] UNSPEC_SIBCALL)])] (unspec [(reg:DI 29)] UNSPEC_SIBCALL)])]
"TARGET_ABI_OSF" "TARGET_ABI_OSF"
{ {
if (GET_CODE (operands[1]) != MEM) gcc_assert (GET_CODE (operands[1]) == MEM);
abort ();
operands[1] = XEXP (operands[1], 0); operands[1] = XEXP (operands[1], 0);
}) })
...@@ -4636,8 +4630,7 @@ ...@@ -4636,8 +4630,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[1]) != MEM) gcc_assert (GET_CODE (operands[1]) == MEM);
abort ();
operands[1] = XEXP (operands[1], 0); operands[1] = XEXP (operands[1], 0);
if (! call_operand (operands[1], Pmode)) if (! call_operand (operands[1], Pmode))
...@@ -4651,8 +4644,7 @@ ...@@ -4651,8 +4644,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[1]) != MEM) gcc_assert (GET_CODE (operands[1]) == MEM);
abort ();
operands[1] = XEXP (operands[1], 0); operands[1] = XEXP (operands[1], 0);
if (GET_CODE (operands[1]) != SYMBOL_REF && GET_CODE (operands[1]) != REG) if (GET_CODE (operands[1]) != SYMBOL_REF && GET_CODE (operands[1]) != REG)
...@@ -4669,8 +4661,7 @@ ...@@ -4669,8 +4661,7 @@
(clobber (reg:DI 27))])] (clobber (reg:DI 27))])]
"" ""
{ {
if (GET_CODE (operands[1]) != MEM) gcc_assert (GET_CODE (operands[1]) == MEM);
abort ();
operands[1] = XEXP (operands[1], 0); operands[1] = XEXP (operands[1], 0);
...@@ -4701,8 +4692,7 @@ ...@@ -4701,8 +4692,7 @@
(clobber (reg:DI 26))])] (clobber (reg:DI 26))])]
"" ""
{ {
if (GET_CODE (operands[1]) != MEM) gcc_assert (GET_CODE (operands[1]) == MEM);
abort ();
operands[1] = XEXP (operands[1], 0); operands[1] = XEXP (operands[1], 0);
if (GET_CODE (operands[1]) != REG) if (GET_CODE (operands[1]) != REG)
...@@ -4902,7 +4892,7 @@ ...@@ -4902,7 +4892,7 @@
operands [3] = alpha_use_linkage (operands [0], cfun->decl, 0, 0); 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)"; return "ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)";
default: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "jsr") [(set_attr "type" "jsr")
...@@ -5639,7 +5629,7 @@ ...@@ -5639,7 +5629,7 @@
;; VMS needs to set up "vms_base_regno" for unwinding. This move ;; VMS needs to set up "vms_base_regno" for unwinding. This move
;; often appears dead to the life analysis code, at which point we ;; 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" (define_insn "force_movdi"
[(set (match_operand:DI 0 "register_operand" "=r") [(set (match_operand:DI 0 "register_operand" "=r")
...@@ -6556,7 +6546,7 @@ ...@@ -6556,7 +6546,7 @@
case 1: 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)"; 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: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "multi") [(set_attr "type" "multi")
...@@ -6613,7 +6603,7 @@ ...@@ -6613,7 +6603,7 @@
case 1: case 1:
return "lda $16,%0\;lda $17,%1($31)\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)"; return "lda $16,%0\;lda $17,%1($31)\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
default: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "multi") [(set_attr "type" "multi")
...@@ -8036,7 +8026,7 @@ ...@@ -8036,7 +8026,7 @@
operands [4] = alpha_use_linkage (operands [1], cfun->decl, 0, 0); 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)"; return "ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)";
default: default:
abort(); gcc_unreachable ();
} }
} }
[(set_attr "type" "jsr") [(set_attr "type" "jsr")
......
...@@ -231,7 +231,7 @@ ...@@ -231,7 +231,7 @@
return add_operand (op, mode); return add_operand (op, mode);
default: default:
abort (); gcc_unreachable ();
} }
return 0; return 0;
}) })
...@@ -506,7 +506,7 @@ ...@@ -506,7 +506,7 @@
;; Returns 1 if OP is not an eliminable register. ;; 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; } ;; long foo () { long t; bar(); return (long) &t * 26107; }
;; ;;
......
...@@ -230,7 +230,7 @@ do { fprintf (FILE, "\tbr $1,0\n"); \ ...@@ -230,7 +230,7 @@ do { fprintf (FILE, "\tbr $1,0\n"); \
/* We don't support nested functions (yet). */ /* We don't support nested functions (yet). */
#undef TRAMPOLINE_TEMPLATE #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 /* Specify the machine mode that this machine uses for the index in the
tablejump instruction. On Unicos/Mk, we don't support relative case tablejump instruction. On Unicos/Mk, we don't support relative case
...@@ -374,7 +374,7 @@ ssib_section (void) \ ...@@ -374,7 +374,7 @@ ssib_section (void) \
(Unicos/Mk does not use such vectors yet). */ (Unicos/Mk does not use such vectors yet). */
#undef ASM_OUTPUT_ADDR_DIFF_ELT #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 /* 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 because CAM doesn't allow data definitions in code sections. Thus, we
...@@ -384,7 +384,7 @@ ssib_section (void) \ ...@@ -384,7 +384,7 @@ ssib_section (void) \
#define ASM_OUTPUT_ADDR_VEC(LAB,VEC) \ #define ASM_OUTPUT_ADDR_VEC(LAB,VEC) \
unicosmk_defer_case_vector ((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 /* 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 counter to a multiple of 2**LOG bytes. Annoyingly, CAM always uses zeroes
......
...@@ -136,15 +136,20 @@ Boston, MA 02111-1307, USA. */ ...@@ -136,15 +136,20 @@ Boston, MA 02111-1307, USA. */
#undef INITIAL_ELIMINATION_OFFSET #undef INITIAL_ELIMINATION_OFFSET
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
{ if ((FROM) == FRAME_POINTER_REGNUM) \ { switch (FROM) \
{ \
case FRAME_POINTER_REGNUM: \
(OFFSET) = alpha_sa_size () + alpha_pv_save_size (); \ (OFFSET) = alpha_sa_size () + alpha_pv_save_size (); \
else if ((FROM) == ARG_POINTER_REGNUM) \ break; \
case ARG_POINTER_REGNUM: \
(OFFSET) = (ALPHA_ROUND (alpha_sa_size () + alpha_pv_save_size () \ (OFFSET) = (ALPHA_ROUND (alpha_sa_size () + alpha_pv_save_size () \
+ get_frame_size () \ + get_frame_size () \
+ current_function_pretend_args_size) \ + current_function_pretend_args_size) \
- current_function_pretend_args_size); \ - current_function_pretend_args_size); \
else \ break; \
abort(); \ default: \
gcc_unreachable (); \
} \
if ((TO) == STACK_POINTER_REGNUM) \ if ((TO) == STACK_POINTER_REGNUM) \
(OFFSET) += ALPHA_ROUND (current_function_outgoing_args_size); \ (OFFSET) += ALPHA_ROUND (current_function_outgoing_args_size); \
} }
...@@ -227,7 +232,7 @@ extern void link_section (void); ...@@ -227,7 +232,7 @@ extern void link_section (void);
extern void literals_section (void); extern void literals_section (void);
#undef ASM_OUTPUT_ADDR_DIFF_ELT #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 #undef ASM_OUTPUT_ADDR_VEC_ELT
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ #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