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>
* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
......@@ -62,7 +75,7 @@
2005-06-03 Eric Christopher <echristo@redhat.com>
* config/mips/mips.opt: Add RejectNegative to divide-breaks and
divide-traps.
divide-traps.
2005-06-03 Jan Hubicka <jh@suse.cz>
......
......@@ -949,7 +949,7 @@ OBJS-common = \
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 \
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 \
insn-preds.o pointer-set.o postreload.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) \
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) \
$(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) \
$(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) \
......
......@@ -446,10 +446,6 @@ extern bool rediscover_loops_after_threading;
#define FOR_ALL_BB_FN(BB, FN) \
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;
/* Indexed by n, gives number of basic block that (REG n) is used in.
......
......@@ -2132,8 +2132,6 @@ cleanup_cfg (int mode)
delete_dead_jumptables ();
}
/* Kill the data we won't maintain. */
free_EXPR_LIST_list (&label_value_list);
timevar_pop (TV_CLEANUP_CFG);
return changed;
......
......@@ -59,11 +59,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "target.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_label_p (rtx);
static void commit_one_edge_insertion (edge, int);
......@@ -103,8 +98,7 @@ can_delete_label_p (rtx label)
return (!LABEL_PRESERVE_P (label)
/* User declared labels must be preserved. */
&& LABEL_NAME (label) == 0
&& !in_expr_list_p (forced_labels, label)
&& !in_expr_list_p (label_value_list, label));
&& !in_expr_list_p (forced_labels, label));
}
/* Delete INSN by patching it out. Return the next insn. */
......
......@@ -234,7 +234,6 @@ Common RejectNegative Joined UInteger
; global variables.
; 2 if pointer arguments may not alias each other and may not
; alias global variables. True in Fortran.
; The value is ignored if flag_alias_check is 0.
fargument-alias
Common Report Var(flag_argument_noalias,0)
Specify that arguments may alias each other and globals
......
......@@ -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
specific ``mode'' and minimizes the number of mode changes required to
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 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