summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/toplev.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/toplev.c')
-rw-r--r--contrib/gcc/toplev.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/contrib/gcc/toplev.c b/contrib/gcc/toplev.c
index 9dac1fd..242a73c 100644
--- a/contrib/gcc/toplev.c
+++ b/contrib/gcc/toplev.c
@@ -1,5 +1,5 @@
/* Top level of GNU C compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -3870,13 +3870,15 @@ rest_of_compilation (decl)
TIMEVAR (cse_time, tem = cse_main (insns, max_reg_num (),
0, rtl_dump_file));
- TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
-
if (tem || optimize > 1)
TIMEVAR (jump_time, jump_optimize (insns, !JUMP_CROSS_JUMP,
!JUMP_NOOP_MOVES,
!JUMP_AFTER_REGSCAN));
+ /* Run this after jump optmizations remove all the unreachable code
+ so that unreachable code will not keep values live. */
+ TIMEVAR (cse_time, delete_trivially_dead_insns (insns, max_reg_num ()));
+
/* Dump rtl code after cse, if we are doing that. */
if (cse_dump)
@@ -4683,7 +4685,8 @@ check_lang_option (option, lang_option)
{
lang_independent_options * indep_options;
int len;
- long k;
+ int numopts;
+ long k;
char * space;
/* Ignore NULL entries. */
@@ -4713,8 +4716,14 @@ check_lang_option (option, lang_option)
switch (option[1])
{
- case 'f': indep_options = f_options; break;
- case 'W': indep_options = W_options; break;
+ case 'f':
+ indep_options = f_options;
+ numopts = NUM_ELEM (f_options);
+ break;
+ case 'W':
+ indep_options = W_options;
+ numopts = NUM_ELEM (W_options);
+ break;
default: return 1;
}
@@ -4726,7 +4735,7 @@ check_lang_option (option, lang_option)
if (option[0] == 'n' && option[1] == 'o' && option[2] == '-')
option += 3;
- for (k = NUM_ELEM (indep_options); k--;)
+ for (k = numopts; k--;)
{
if (!strcmp (option, indep_options[k].string))
{
OpenPOWER on IntegriCloud