Commit 610d2478 by Steven Bosscher

lcm.c: Move all mode-switching related functions from here...

	* lcm.c: Move all mode-switching related functions from here...
	* mode-switching.c: ...to this new file.
	* doc/passes.texi: Update accordingly.

	* basic-block.h (label_value_list): Remove extern decl.
	* cfgrtl.c (label_value_list): Remove.
	(can_delete_label_p): Don't look at it.
	* cfgcleanup.c (cleanup_cfg): Don't free it.

	* common.opt: Don't refer to non-existing flag_alias_check.

From-SVN: r100591
parent 4736115e
2005-06-04 Steven Bosscher <stevenb@suse.de>
* lcm.c: Move all mode-switching related functions from here...
* mode-switching.c: ...to this new file.
* doc/passes.texi: Update accordingly.
* basic-block.h (label_value_list): Remove extern decl.
* cfgrtl.c (label_value_list): Remove.
(can_delete_label_p): Don't look at it.
* cfgcleanup.c (cleanup_cfg): Don't free it.
* common.opt: Don't refer to non-existing flag_alias_check.
2005-06-04 David Edelsohn <edelsohn@gnu.org> 2005-06-04 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5. * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
......
...@@ -949,7 +949,7 @@ OBJS-common = \ ...@@ -949,7 +949,7 @@ OBJS-common = \
haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o \ haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o \
insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o \ insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o \
integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o \ integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o \
loop.o modulo-sched.o optabs.o options.o opts.o \ loop.o mode-switching.o modulo-sched.o optabs.o options.o opts.o \
params.o postreload.o postreload-gcse.o predict.o \ params.o postreload.o postreload-gcse.o predict.o \
insn-preds.o pointer-set.o postreload.o \ insn-preds.o pointer-set.o postreload.o \
print-rtl.o print-tree.o profile.o value-prof.o var-tracking.o \ print-rtl.o print-tree.o profile.o value-prof.o var-tracking.o \
...@@ -2099,6 +2099,9 @@ resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) \ ...@@ -2099,6 +2099,9 @@ resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) \
lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \ lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(INSN_ATTR_H) $(RECOG_H) \ hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(INSN_ATTR_H) $(RECOG_H) \
$(BASIC_BLOCK_H) $(TM_P_H) function.h output.h $(BASIC_BLOCK_H) $(TM_P_H) function.h output.h
mode-switching.o : mode-switching.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h \
$(INSN_ATTR_H) $(RECOG_H) $(BASIC_BLOCK_H) $(TM_P_H) function.h output.h
tree-ssa-dce.o : tree-ssa-dce.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \ tree-ssa-dce.o : tree-ssa-dce.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
$(RTL_H) $(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) \ $(RTL_H) $(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) \
coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) $(BASIC_BLOCK_H) \ coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) $(BASIC_BLOCK_H) \
......
...@@ -446,10 +446,6 @@ extern bool rediscover_loops_after_threading; ...@@ -446,10 +446,6 @@ extern bool rediscover_loops_after_threading;
#define FOR_ALL_BB_FN(BB, FN) \ #define FOR_ALL_BB_FN(BB, FN) \
for (BB = ENTRY_BLOCK_PTR_FOR_FUNCTION (FN); BB; BB = BB->next_bb) for (BB = ENTRY_BLOCK_PTR_FOR_FUNCTION (FN); BB; BB = BB->next_bb)
/* Special labels found during CFG build. */
extern GTY(()) rtx label_value_list;
extern bitmap_obstack reg_obstack; extern bitmap_obstack reg_obstack;
/* Indexed by n, gives number of basic block that (REG n) is used in. /* Indexed by n, gives number of basic block that (REG n) is used in.
......
...@@ -2132,8 +2132,6 @@ cleanup_cfg (int mode) ...@@ -2132,8 +2132,6 @@ cleanup_cfg (int mode)
delete_dead_jumptables (); delete_dead_jumptables ();
} }
/* Kill the data we won't maintain. */
free_EXPR_LIST_list (&label_value_list);
timevar_pop (TV_CLEANUP_CFG); timevar_pop (TV_CLEANUP_CFG);
return changed; return changed;
......
...@@ -59,11 +59,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -59,11 +59,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "target.h" #include "target.h"
#include "cfgloop.h" #include "cfgloop.h"
/* The labels mentioned in non-jump rtl. Valid during find_basic_blocks. */
/* ??? Should probably be using LABEL_NUSES instead. It would take a
bit of surgery to be able to use or co-opt the routines in jump. */
rtx label_value_list;
static int can_delete_note_p (rtx); static int can_delete_note_p (rtx);
static int can_delete_label_p (rtx); static int can_delete_label_p (rtx);
static void commit_one_edge_insertion (edge, int); static void commit_one_edge_insertion (edge, int);
...@@ -103,8 +98,7 @@ can_delete_label_p (rtx label) ...@@ -103,8 +98,7 @@ can_delete_label_p (rtx label)
return (!LABEL_PRESERVE_P (label) return (!LABEL_PRESERVE_P (label)
/* User declared labels must be preserved. */ /* User declared labels must be preserved. */
&& LABEL_NAME (label) == 0 && LABEL_NAME (label) == 0
&& !in_expr_list_p (forced_labels, label) && !in_expr_list_p (forced_labels, label));
&& !in_expr_list_p (label_value_list, label));
} }
/* Delete INSN by patching it out. Return the next insn. */ /* Delete INSN by patching it out. Return the next insn. */
......
...@@ -234,7 +234,6 @@ Common RejectNegative Joined UInteger ...@@ -234,7 +234,6 @@ Common RejectNegative Joined UInteger
; global variables. ; global variables.
; 2 if pointer arguments may not alias each other and may not ; 2 if pointer arguments may not alias each other and may not
; alias global variables. True in Fortran. ; alias global variables. True in Fortran.
; The value is ignored if flag_alias_check is 0.
fargument-alias fargument-alias
Common Report Var(flag_argument_noalias,0) Common Report Var(flag_argument_noalias,0)
Specify that arguments may alias each other and globals Specify that arguments may alias each other and globals
......
...@@ -639,7 +639,8 @@ The pass is located in @file{regmove.c}. ...@@ -639,7 +639,8 @@ The pass is located in @file{regmove.c}.
This pass looks for instructions that require the processor to be in a This pass looks for instructions that require the processor to be in a
specific ``mode'' and minimizes the number of mode changes required to specific ``mode'' and minimizes the number of mode changes required to
satisfy all users. What these modes are, and what they apply to are satisfy all users. What these modes are, and what they apply to are
completely target-specific. The source is located in @file{lcm.c}. completely target-specific.
The source is located in @file{mode-switching.c}.
@cindex modulo scheduling @cindex modulo scheduling
@cindex sms, swing, software pipelining @cindex sms, swing, software pipelining
......
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