aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-11-20 20:05:08 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-11-20 20:05:08 -0800
commitc132886e7c0605edb5f66c0614c98b61840efc24 (patch)
tree56dd457ad8f3460dc3a6f8b53c7c66038e438501 /gcc/toplev.c
parentbd6946d1bf8c727ca3781e3a955a781f3ae6f31a (diff)
downloadgcc-c132886e7c0605edb5f66c0614c98b61840efc24.zip
gcc-c132886e7c0605edb5f66c0614c98b61840efc24.tar.gz
gcc-c132886e7c0605edb5f66c0614c98b61840efc24.tar.bz2
ssa.c, [...]: Remove files.
* ssa.c, ssa-dce.c, ssa-ccp.c: Remove files. * Makefile.in (OBJS-common, GTFILES): Don't reference them. (gtype-desc.o, toplev.o, flow.o): Remove ssa.h. (ssa.o, ssa-dce.o, ssa-ccp.o): Remove. * flow.c: Don't include ssa.h. (set_phi_alternative_reg): Remove. (calculate_global_regs_live): Don't call it. (mark_used_regs): Don't handle PHI. * gengtype.c (open_base_files): Don't reference ssa.h. * rtl.def (PHI): Remove. * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill. * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce. * opts.c (common_handle_option): Likewise. * toplev.c (f_options): Likewise. (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove. (dump_file): Update to match. (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove. (rest_of_handle_ssa): Remove. (rest_of_compilation): Don't call it. * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove. * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce. * doc/passes.texi (SSA optimizations): Remove. * gcc.dg/20020201-2.c: Remove. * gcc.dg/20020201-4.c: Remove. * gcc.dg/20020304-1.c: Remove. From-SVN: r73789
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c97
1 files changed, 2 insertions, 95 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index cacbb24..bd1f37d 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -63,7 +63,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "regs.h"
#include "timevar.h"
#include "diagnostic.h"
-#include "ssa.h"
#include "params.h"
#include "reload.h"
#include "dwarf2asm.h"
@@ -125,7 +124,6 @@ static void print_switch_values (FILE *, int, int, const char *,
/* Rest of compilation helper functions. */
static bool rest_of_handle_inlining (tree);
-static rtx rest_of_handle_ssa (tree, rtx);
static void rest_of_handle_cse (tree, rtx);
static void rest_of_handle_cse2 (tree, rtx);
static void rest_of_handle_gcse (tree, rtx);
@@ -254,10 +252,6 @@ enum dump_file_index
DFI_sibling,
DFI_eh,
DFI_jump,
- DFI_ssa,
- DFI_ssa_ccp,
- DFI_ssa_dce,
- DFI_ussa,
DFI_null,
DFI_cse,
DFI_addressof,
@@ -298,8 +292,8 @@ enum dump_file_index
Remaining -d letters:
- " m q "
- " JK O Q Y "
+ " e m q "
+ " JK O Q WXY "
*/
static struct dump_file_info dump_file[DFI_MAX] =
@@ -309,10 +303,6 @@ static struct dump_file_info dump_file[DFI_MAX] =
{ "sibling", 'i', 0, 0, 0 },
{ "eh", 'h', 0, 0, 0 },
{ "jump", 'j', 0, 0, 0 },
- { "ssa", 'e', 1, 0, 0 },
- { "ssaccp", 'W', 1, 0, 0 },
- { "ssadce", 'X', 1, 0, 0 },
- { "ussa", 'e', 1, 0, 0 }, /* Yes, duplicate enable switch. */
{ "null", 'u', 0, 0, 0 },
{ "cse", 's', 0, 0, 0 },
{ "addressof", 'F', 0, 0, 0 },
@@ -904,15 +894,6 @@ int flag_gnu_linker = 1;
/* Nonzero means put zero initialized data in the bss section. */
int flag_zero_initialized_in_bss = 1;
-/* Enable SSA. */
-int flag_ssa = 0;
-
-/* Enable ssa conditional constant propagation. */
-int flag_ssa_ccp = 0;
-
-/* Enable ssa aggressive dead code elimination. */
-int flag_ssa_dce = 0;
-
/* Tag all structures with __attribute__(packed). */
int flag_pack_struct = 0;
@@ -1149,9 +1130,6 @@ static const lang_independent_options f_options[] =
{"dump-unnumbered", &flag_dump_unnumbered, 1 },
{"instrument-functions", &flag_instrument_function_entry_exit, 1 },
{"zero-initialized-in-bss", &flag_zero_initialized_in_bss, 1 },
- {"ssa", &flag_ssa, 1 },
- {"ssa-ccp", &flag_ssa_ccp, 1 },
- {"ssa-dce", &flag_ssa_dce, 1 },
{"leading-underscore", &flag_leading_underscore, 1 },
{"ident", &flag_no_ident, 0 },
{ "peephole2", &flag_peephole2, 1 },
@@ -2750,71 +2728,6 @@ rest_of_handle_inlining (tree decl)
return (bool) DECL_EXTERNAL (decl);
}
-/* Rest of compilation helper to convert the rtl to SSA form. */
-static rtx
-rest_of_handle_ssa (tree decl, rtx insns)
-{
- timevar_push (TV_TO_SSA);
- open_dump_file (DFI_ssa, decl);
-
- cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
- convert_to_ssa ();
-
- close_dump_file (DFI_ssa, print_rtl_with_bb, insns);
- timevar_pop (TV_TO_SSA);
-
- /* Perform sparse conditional constant propagation, if requested. */
- if (flag_ssa_ccp)
- {
- timevar_push (TV_SSA_CCP);
- open_dump_file (DFI_ssa_ccp, decl);
-
- ssa_const_prop ();
-
- close_dump_file (DFI_ssa_ccp, print_rtl_with_bb, get_insns ());
- timevar_pop (TV_SSA_CCP);
- }
-
- /* It would be useful to cleanup the CFG at this point, but block
- merging and possibly other transformations might leave a PHI
- node in the middle of a basic block, which is a strict no-no. */
-
- /* The SSA implementation uses basic block numbers in its phi
- nodes. Thus, changing the control-flow graph or the basic
- blocks, e.g., calling find_basic_blocks () or cleanup_cfg (),
- may cause problems. */
-
- if (flag_ssa_dce)
- {
- /* Remove dead code. */
-
- timevar_push (TV_SSA_DCE);
- open_dump_file (DFI_ssa_dce, decl);
-
- insns = get_insns ();
- ssa_eliminate_dead_code ();
-
- close_dump_file (DFI_ssa_dce, print_rtl_with_bb, insns);
- timevar_pop (TV_SSA_DCE);
- }
-
- /* Convert from SSA form. */
-
- timevar_push (TV_FROM_SSA);
- open_dump_file (DFI_ussa, decl);
-
- convert_from_ssa ();
- /* New registers have been created. Rescan their usage. */
- reg_scan (insns, max_reg_num (), 1);
-
- close_dump_file (DFI_ussa, print_rtl_with_bb, insns);
- timevar_pop (TV_FROM_SSA);
-
- ggc_collect ();
-
- return insns;
-}
-
/* Try to identify useless null pointer tests and delete them. */
static void
rest_of_handle_null_pointer (tree decl, rtx insns)
@@ -3325,12 +3238,6 @@ rest_of_compilation (tree decl)
if (rtl_dump_and_exit || flag_syntax_only || DECL_DEFER_OUTPUT (decl))
goto exit_rest_of_compilation;
- /* Long term, this should probably move before the jump optimizer too,
- but I didn't want to disturb the rtl_dump_and_exit and related
- stuff at this time. */
- if (optimize > 0 && flag_ssa)
- insns = rest_of_handle_ssa (decl, insns);
-
timevar_push (TV_JUMP);
if (optimize)