avr.h (avr_case_values_threshold): Remove declaration.

* config/avr/avr.h (avr_case_values_threshold): Remove declaration.
	(CASE_VALUES_THRESHOLD): Redefine.
	* config/avr/avr.c (avr_override_options): Remove initialization of
	avr_case_values_threshold variable.
	(avr_case_values_threshold): Remove variable. Add new function.
	* config/avr/avr-protos.h (avr_case_values_threshold): Declare.
	* config/avr/avr.opt (mno-tablejump): Remove option.
	* doc/invoke.texi (AVR Options): Remove -mno-tablejump.

From-SVN: r145389
This commit is contained in:
Anatoly Sokolov 2009-04-01 09:57:14 +04:00 committed by Anatoly Sokolov
parent e893f6f38e
commit 4223ff5f25
6 changed files with 21 additions and 17 deletions

View File

@ -1,3 +1,14 @@
2009-04-01 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (avr_case_values_threshold): Remove declaration.
(CASE_VALUES_THRESHOLD): Redefine.
* config/avr/avr.c (avr_override_options): Remove initialization of
avr_case_values_threshold variable.
(avr_case_values_threshold): Remove variable. Add new function.
* config/avr/avr-protos.h (avr_case_values_threshold): Declare.
* config/avr/avr.opt (mno-tablejump): Remove option.
* doc/invoke.texi (AVR Options): Remove -mno-tablejump.
2009-04-01 DJ Delorie <dj@redhat.com>
* varasm.c (default_function_rodata_section): Don't assume

View File

@ -39,6 +39,7 @@ extern int avr_simple_epilogue (void);
extern void gas_output_limited_string (FILE *file, const char *str);
extern void gas_output_ascii (FILE *file, const char *str, size_t length);
extern int avr_hard_regno_rename_ok (unsigned int, unsigned int);
extern unsigned int avr_case_values_threshold (void);
#ifdef TREE_CODE
extern void asm_output_external (FILE *file, tree decl, char *name);

View File

@ -308,7 +308,6 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ NULL, ARCH_UNKNOWN, NULL }
};
int avr_case_values_threshold = 30000;
/* Initialize the GCC target structure. */
#undef TARGET_ASM_ALIGNED_HI_OP
@ -388,10 +387,6 @@ avr_override_options (void)
avr_current_arch = &avr_arch_types[t->arch];
avr_extra_arch_macro = t->macro;
if (optimize && !TARGET_NO_TABLEJUMP)
avr_case_values_threshold =
(!AVR_HAVE_JMP_CALL || TARGET_CALL_PROLOGUES) ? 8 : 17;
tmp_reg_rtx = gen_rtx_REG (QImode, TMP_REGNO);
zero_reg_rtx = gen_rtx_REG (QImode, ZERO_REGNO);
@ -6114,4 +6109,11 @@ avr_return_in_memory (const_tree type, const_tree fntype ATTRIBUTE_UNUSED)
return false;
}
/* Worker function for CASE_VALUES_THRESHOLD. */
unsigned int avr_case_values_threshold (void)
{
return (!AVR_HAVE_JMP_CALL || TARGET_CALL_PROLOGUES) ? 8 : 17;
}
#include "gt-avr.h"

View File

@ -734,9 +734,7 @@ fprintf (STREAM, "\t.skip %lu,0\n", (unsigned long)(N))
#define CASE_VECTOR_MODE HImode
extern int avr_case_values_threshold;
#define CASE_VALUES_THRESHOLD avr_case_values_threshold
#define CASE_VALUES_THRESHOLD avr_case_values_threshold ()
#undef WORD_REGISTER_OPERATIONS

View File

@ -37,10 +37,6 @@ mno-interrupts
Target Report RejectNegative Mask(NO_INTERRUPTS)
Change the stack pointer without disabling interrupts
mno-tablejump
Target Report RejectNegative Mask(NO_TABLEJUMP)
Do not generate tablejump insns
morder1
Target Report Undocumented Mask(ORDER_1)

View File

@ -457,7 +457,7 @@ Objective-C and Objective-C++ Dialects}.
@emph{AVR Options}
@gccoptlist{-mmcu=@var{mcu} -msize -minit-stack=@var{n} -mno-interrupts @gol
-mcall-prologues -mno-tablejump -mtiny-stack -mint8}
-mcall-prologues -mtiny-stack -mint8}
@emph{Blackfin Options}
@gccoptlist{-mcpu=@var{cpu}@r{[}-@var{sirevision}@r{]} @gol
@ -9313,10 +9313,6 @@ Code size will be smaller.
Functions prologues/epilogues expanded as call to appropriate
subroutines. Code size will be smaller.
@item -mno-tablejump
@opindex mno-tablejump
Do not generate tablejump insns which sometimes increase code size.
@item -mtiny-stack
@opindex mtiny-stack
Change only the low 8 bits of the stack pointer.