Commit 144d51f9 by Nathan Sidwell Committed by Nathan Sidwell

pa.c (legitimize_pic_address): Use gcc_assert and gcc_unreachable as appropriate.

	* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
	gcc_unreachable as appropriate.
	(force_mode, emit_move_sequence, singlemove_string,
	output_move_double, output_fp_move_double, find_addr_reg,
	output_block_move, output_block_clear, output_and,
	output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
	pa_adjust_cost, pa_issue_rate, print_operand,
	output_global_address, output_arg_descriptor, output_cbranch,
	output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
	output_call): Likewise.
	* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
	prefetch, prefetch_cc, prefetch_nocc): Likewise.

From-SVN: r98559
parent 9885da8e
2005-04-22 Nathan Sidwell <nathan@codesourcery.com>
* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
gcc_unreachable as appropriate.
(force_mode, emit_move_sequence, singlemove_string,
output_move_double, output_fp_move_double, find_addr_reg,
output_block_move, output_block_clear, output_and,
output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
pa_adjust_cost, pa_issue_rate, print_operand,
output_global_address, output_arg_descriptor, output_cbranch,
output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
output_call): Likewise.
* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
prefetch, prefetch_cc, prefetch_nocc): Likewise.
2005-04-22 Zdenek Dvorak <dvorakz@suse.cz> 2005-04-22 Zdenek Dvorak <dvorakz@suse.cz>
* Makefile.in (LIBGCOV): Add _gcov_interval_profiler, * Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
......
...@@ -2814,9 +2814,9 @@ ...@@ -2814,9 +2814,9 @@
"!is_function_label_plus_const (operands[2])" "!is_function_label_plus_const (operands[2])"
"* "*
{ {
if (flag_pic && symbolic_operand (operands[2], Pmode)) gcc_assert (!flag_pic || !symbolic_operand (operands[2], Pmode));
abort ();
else if (symbolic_operand (operands[2], Pmode)) if (symbolic_operand (operands[2], Pmode))
return \"ldo RR'%G2(%1),%0\"; return \"ldo RR'%G2(%1),%0\";
else else
return \"ldo R'%G2(%1),%0\"; return \"ldo R'%G2(%1),%0\";
...@@ -4070,8 +4070,9 @@ ...@@ -4070,8 +4070,9 @@
rtx op0 = operands[0]; rtx op0 = operands[0];
rtx op1 = operands[1]; rtx op1 = operands[1];
if (GET_CODE (op1) == CONST_INT) switch (GET_CODE (op1))
{ {
case CONST_INT:
operands[0] = operand_subword (op0, 1, 0, DImode); operands[0] = operand_subword (op0, 1, 0, DImode);
output_asm_insn (\"ldil L'%1,%0\", operands); output_asm_insn (\"ldil L'%1,%0\", operands);
...@@ -4080,10 +4081,9 @@ ...@@ -4080,10 +4081,9 @@
output_asm_insn (\"ldi -1,%0\", operands); output_asm_insn (\"ldi -1,%0\", operands);
else else
output_asm_insn (\"ldi 0,%0\", operands); output_asm_insn (\"ldi 0,%0\", operands);
return \"\"; break;
}
else if (GET_CODE (op1) == CONST_DOUBLE) case CONST_DOUBLE:
{
operands[0] = operand_subword (op0, 1, 0, DImode); operands[0] = operand_subword (op0, 1, 0, DImode);
operands[1] = GEN_INT (CONST_DOUBLE_LOW (op1)); operands[1] = GEN_INT (CONST_DOUBLE_LOW (op1));
output_asm_insn (\"ldil L'%1,%0\", operands); output_asm_insn (\"ldil L'%1,%0\", operands);
...@@ -4091,10 +4091,12 @@ ...@@ -4091,10 +4091,12 @@
operands[0] = operand_subword (op0, 0, 0, DImode); operands[0] = operand_subword (op0, 0, 0, DImode);
operands[1] = GEN_INT (CONST_DOUBLE_HIGH (op1)); operands[1] = GEN_INT (CONST_DOUBLE_HIGH (op1));
output_asm_insn (singlemove_string (operands), operands); output_asm_insn (singlemove_string (operands), operands);
return \"\"; break;
default:
gcc_unreachable ();
} }
else return \"\";
abort ();
}" }"
[(set_attr "type" "move") [(set_attr "type" "move")
(set_attr "length" "8")]) (set_attr "length" "8")])
...@@ -7070,8 +7072,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -7070,8 +7072,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
the only method that we have for doing DImode multiplication the only method that we have for doing DImode multiplication
is with a libcall. This could be trouble if we haven't is with a libcall. This could be trouble if we haven't
allocated enough space for the outgoing arguments. */ allocated enough space for the outgoing arguments. */
if (INTVAL (nb) > current_function_outgoing_args_size) gcc_assert (INTVAL (nb) <= current_function_outgoing_args_size);
abort ();
emit_move_insn (arg_pointer_rtx, emit_move_insn (arg_pointer_rtx,
gen_rtx_PLUS (word_mode, stack_pointer_rtx, gen_rtx_PLUS (word_mode, stack_pointer_rtx,
...@@ -7570,8 +7571,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -7570,8 +7571,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
the only method that we have for doing DImode multiplication the only method that we have for doing DImode multiplication
is with a libcall. This could be trouble if we haven't is with a libcall. This could be trouble if we haven't
allocated enough space for the outgoing arguments. */ allocated enough space for the outgoing arguments. */
if (INTVAL (nb) > current_function_outgoing_args_size) gcc_assert (INTVAL (nb) <= current_function_outgoing_args_size);
abort ();
emit_move_insn (arg_pointer_rtx, emit_move_insn (arg_pointer_rtx,
gen_rtx_PLUS (word_mode, stack_pointer_rtx, gen_rtx_PLUS (word_mode, stack_pointer_rtx,
...@@ -8089,8 +8089,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -8089,8 +8089,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
the only method that we have for doing DImode multiplication the only method that we have for doing DImode multiplication
is with a libcall. This could be trouble if we haven't is with a libcall. This could be trouble if we haven't
allocated enough space for the outgoing arguments. */ allocated enough space for the outgoing arguments. */
if (INTVAL (nb) > current_function_outgoing_args_size) gcc_assert (INTVAL (nb) <= current_function_outgoing_args_size);
abort ();
emit_move_insn (arg_pointer_rtx, emit_move_insn (arg_pointer_rtx,
gen_rtx_PLUS (word_mode, stack_pointer_rtx, gen_rtx_PLUS (word_mode, stack_pointer_rtx,
...@@ -8171,8 +8170,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -8171,8 +8170,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
the only method that we have for doing DImode multiplication the only method that we have for doing DImode multiplication
is with a libcall. This could be trouble if we haven't is with a libcall. This could be trouble if we haven't
allocated enough space for the outgoing arguments. */ allocated enough space for the outgoing arguments. */
if (INTVAL (nb) > current_function_outgoing_args_size) gcc_assert (INTVAL (nb) <= current_function_outgoing_args_size);
abort ();
emit_move_insn (arg_pointer_rtx, emit_move_insn (arg_pointer_rtx,
gen_rtx_PLUS (word_mode, stack_pointer_rtx, gen_rtx_PLUS (word_mode, stack_pointer_rtx,
...@@ -9263,8 +9261,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9263,8 +9261,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
{ {
int locality = INTVAL (operands[2]); int locality = INTVAL (operands[2]);
if (locality < 0 || locality > 3) gcc_assert (locality >= 0 && locality <= 3);
abort ();
/* Change operand[0] to a MEM as we don't have the infrastructure /* Change operand[0] to a MEM as we don't have the infrastructure
to output all the supported address modes for ldw/ldd when we use to output all the supported address modes for ldw/ldd when we use
...@@ -9309,8 +9306,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9309,8 +9306,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
}; };
int read_or_write = INTVAL (operands[1]); int read_or_write = INTVAL (operands[1]);
if (read_or_write < 0 || read_or_write > 1) gcc_assert (read_or_write >= 0 && read_or_write <= 1);
abort ();
return instr [read_or_write]; return instr [read_or_write];
} }
...@@ -9338,9 +9334,8 @@ add,l %2,%3,%3\;bv,n %%r0(%3)" ...@@ -9338,9 +9334,8 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
}; };
int read_or_write = INTVAL (operands[1]); int read_or_write = INTVAL (operands[1]);
if ((which_alternative != 0 && which_alternative != 1) gcc_assert (which_alternative == 0 || which_alternative == 1);
|| (read_or_write < 0 || read_or_write > 1)) gcc_assert (read_or_write >= 0 && read_or_write <= 1);
abort ();
return instr [which_alternative][read_or_write]; return instr [which_alternative][read_or_write];
} }
......
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