Fri Jun 29 12:27:24 2001 Jeffrey A Law (law@cygnus.com)
+ * ssa-dce.c (ssa_eliminate_dead_code): Renamed from
+ eliminate_date_code.
+ * ssa.h (ssa_eliminate_dead_code): Corresponding changes.
+ * timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
+ * toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
+ (dump_file_info): Similar changes.
+ (flag_ssa_dce): Similarly
+ (f_options): Similar changes.
+ (rest_of_compilation): Corresponding changes.
+ * doc/invoke.texi: Update as option is now -fssa-dce instead
+ of -fdce. Update dump file name.
+
* ssa-dce.c (note_inherently_necessary_set): New function.
(find_inherently_necessary): Use it. Do not consider
NOTEs, CODE_LABELs or BARRIERS are necessary. Improve
-falign-functions=@var{n} -falign-jumps=@var{n} @gol
-falign-labels=@var{n} -falign-loops=@var{n} @gol
-fbranch-probabilities -fcaller-saves @gol
--fcse-follow-jumps -fcse-skip-blocks -fdata-sections -fdce @gol
+-fcse-follow-jumps -fcse-skip-blocks -fdata-sections @gol
-fdelayed-branch -fdelete-null-pointer-checks @gol
-fexpensive-optimizations -ffast-math -ffloat-store @gol
-fforce-addr -fforce-mem -ffunction-sections @gol
-fregmove -frename-registers @gol
-frerun-cse-after-loop -frerun-loop-opt @gol
-fschedule-insns -fschedule-insns2 @gol
--fsingle-precision-constant -fssa @gol
+-fsingle-precision-constant -fssa -fssa-dce @gol
-fstrength-reduce -fstrict-aliasing -fthread-jumps -ftrapv @gol
-funroll-all-loops -funroll-loops @gol
--param @var{name}=@var{value}
Dump after the second flow pass, to @file{@var{file}.21.flow2}.
@item X
@opindex dX
-Dump after dead code elimination, to @file{@var{file}.06.dce}.
+Dump after SSA aggressive dead code elimination, to @file{@var{file}.06.ssadce}.
@item z
@opindex dz
Dump after the peephole pass, to @file{@var{file}.22.peephole2}.
the flow graph is translated back from SSA form. Users should not
specify this option, since it is not yet ready for production use.
-@item -fdce
-@opindex fdce
-Perform dead-code elimination in SSA form. Requires @option{-fssa}. Like
-@option{-fssa}, this is an experimental feature.
+@item -fssa-dce
+@opindex fssa-dce
+Perform aggressive dead-code elimination in SSA form. Requires @option{-fssa}.
+Like @option{-fssa}, this is an experimental feature.
@item -fsingle-precision-constant
@opindex fsingle-precision-constant
/* Perform the dead-code elimination. */
void
-eliminate_dead_code ()
+ssa_eliminate_dead_code ()
{
int i;
rtx insn;
/* Optimizations. */
/* In ssa-dce.c */
-extern void eliminate_dead_code PARAMS ((void));
+extern void ssa_eliminate_dead_code PARAMS ((void));
/* SSA definitions and uses. */
/* This flag is set when the CFG is in SSA form. */
DEFTIMEVAR (TV_SHORTEN_BRANCH , "shorten branches")
DEFTIMEVAR (TV_REG_STACK , "reg stack")
DEFTIMEVAR (TV_TO_SSA , "convert to SSA")
-DEFTIMEVAR (TV_DEAD_CODE_ELIM , "eliminate dead code")
+DEFTIMEVAR (TV_SSA_DCE , "SSA aggressive DCE")
DEFTIMEVAR (TV_FROM_SSA , "convert from SSA")
DEFTIMEVAR (TV_FINAL , "final")
DEFTIMEVAR (TV_SYMOUT , "symout")
DFI_cse,
DFI_addressof,
DFI_ssa,
- DFI_dce,
+ DFI_ssa_dce,
DFI_ussa,
DFI_gcse,
DFI_loop,
{ "cse", 's', 0, 0, 0 },
{ "addressof", 'F', 0, 0, 0 },
{ "ssa", 'e', 1, 0, 0 },
- { "dce", 'X', 1, 0, 0 },
+ { "ssadce", 'X', 1, 0, 0 },
{ "ussa", 'e', 1, 0, 0 }, /* Yes, duplicate enable switch. */
{ "gcse", 'G', 1, 0, 0 },
{ "loop", 'L', 1, 0, 0 },
int flag_ssa = 0;
/* Enable dead code elimination. */
-int flag_dce = 0;
+int flag_ssa_dce = 0;
/* Tag all structures with __attribute__(packed). */
int flag_pack_struct = 0;
N_("Instrument function entry/exit with profiling calls") },
{"ssa", &flag_ssa, 1,
N_("Enable SSA optimizations") },
- {"dce", &flag_dce, 1,
- N_("Enable dead code elimination") },
+ {"ssa-dce", &flag_ssa_dce, 1,
+ N_("Enable aggressive SSA dead code elimination") },
{"leading-underscore", &flag_leading_underscore, 1,
N_("External symbols have a leading underscore") },
{"ident", &flag_no_ident, 0,
blocks, e.g., calling find_basic_blocks () or cleanup_cfg (),
may cause problems. */
- if (flag_dce)
+ if (flag_ssa_dce)
{
/* Remove dead code. */
- timevar_push (TV_DEAD_CODE_ELIM);
- open_dump_file (DFI_dce, decl);
+ timevar_push (TV_SSA_DCE);
+ open_dump_file (DFI_ssa_dce, decl);
insns = get_insns ();
- eliminate_dead_code();
+ ssa_eliminate_dead_code();
- close_dump_file (DFI_dce, print_rtl_with_bb, insns);
- timevar_pop (TV_DEAD_CODE_ELIM);
+ close_dump_file (DFI_ssa_dce, print_rtl_with_bb, insns);
+ timevar_pop (TV_SSA_DCE);
}
/* Convert from SSA form. */