Commit f2dca510 by Zdenek Dvorak Committed by Zdenek Dvorak

cfgloop.h (struct loop_desc): Removed.

	* cfgloop.h (struct loop_desc): Removed.
	(struct loop): Fields simple, desc and has_desc removed.
	(simple_loop_p, count_loop_iterations): Declaration removed.
	* cfgloopanal.c (struct unmark_altered_insn_data): Removed.
	(unmark_altered, blocks_invariant_registers, unmark_altered_insn
	blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
	invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
	simple_loop_exit_p, variable_initial_value, variable_initial_values,
	simple_condition_p, simple_increment, count_strange_loop_iterations,
	inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
	Removed.
	* loop-iv.c (check_simple_exit, find_simple_exit): Update comments.

From-SVN: r78777
parent ec2075e9
2004-03-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* cfgloop.h (struct loop_desc): Removed.
(struct loop): Fields simple, desc and has_desc removed.
(simple_loop_p, count_loop_iterations): Declaration removed.
* cfgloopanal.c (struct unmark_altered_insn_data): Removed.
(unmark_altered, blocks_invariant_registers, unmark_altered_insn
blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
simple_loop_exit_p, variable_initial_value, variable_initial_values,
simple_condition_p, simple_increment, count_strange_loop_iterations,
inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
Removed.
* loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
2004-03-02 Kazu Hirata <kazu@cs.umass.edu> 2004-03-02 Kazu Hirata <kazu@cs.umass.edu>
* genattrtab.c: Don't handle MATCH_INSN. * genattrtab.c: Don't handle MATCH_INSN.
......
...@@ -36,29 +36,6 @@ struct lpt_decision ...@@ -36,29 +36,6 @@ struct lpt_decision
unsigned times; unsigned times;
}; };
/* Description of loop for simple loop unrolling. */
struct loop_desc
{
int postincr; /* 1 if increment/decrement is done after loop exit condition. */
rtx stride; /* Value added to VAR in each iteration. */
rtx var; /* Loop control variable. */
enum machine_mode inner_mode;
/* The mode from that it is extended. */
enum rtx_code extend; /* With this extend. */
rtx var_alts; /* List of definitions of its initial value. */
rtx lim; /* Expression var is compared with. */
rtx lim_alts; /* List of definitions of its initial value. */
bool const_iter; /* True if it iterates constant number of times. */
unsigned HOST_WIDE_INT niter;
/* Number of iterations if it is constant. */
bool may_be_zero; /* If we cannot determine that the first iteration will pass. */
enum rtx_code cond; /* Exit condition. */
int neg; /* Set to 1 if loop ends when condition is satisfied. */
edge out_edge; /* The exit edge. */
edge in_edge; /* And the other one. */
int n_branches; /* Number of branches inside the loop. */
};
/* Structure to hold information for each natural loop. */ /* Structure to hold information for each natural loop. */
struct loop struct loop
{ {
...@@ -77,11 +54,6 @@ struct loop ...@@ -77,11 +54,6 @@ struct loop
/* For loop unrolling/peeling decision. */ /* For loop unrolling/peeling decision. */
struct lpt_decision lpt_decision; struct lpt_decision lpt_decision;
/* Simple loop description. */
int simple;
struct loop_desc desc;
int has_desc;
/* Number of loop insns. */ /* Number of loop insns. */
unsigned ninsns; unsigned ninsns;
...@@ -305,8 +277,6 @@ extern void force_single_succ_latches (struct loops *); ...@@ -305,8 +277,6 @@ extern void force_single_succ_latches (struct loops *);
extern void verify_loop_structure (struct loops *); extern void verify_loop_structure (struct loops *);
/* Loop analysis. */ /* Loop analysis. */
extern bool simple_loop_p (struct loop *, struct loop_desc *);
extern rtx count_loop_iterations (struct loop_desc *, rtx, rtx);
extern bool just_once_each_iteration_p (struct loop *, basic_block); extern bool just_once_each_iteration_p (struct loop *, basic_block);
extern unsigned expected_loop_iterations (const struct loop *); extern unsigned expected_loop_iterations (const struct loop *);
...@@ -370,8 +340,8 @@ struct rtx_iv ...@@ -370,8 +340,8 @@ struct rtx_iv
unsigned first_special : 1; unsigned first_special : 1;
}; };
/* This should replace struct loop_desc. We keep this just so that we are /* The description of an exit from the loop and of the number of iterations
able to compare the results. */ till we take the exit. */
struct niter_desc struct niter_desc
{ {
......
...@@ -2306,7 +2306,7 @@ zero_iter: ...@@ -2306,7 +2306,7 @@ zero_iter:
} }
/* Checks whether E is a simple exit from LOOP and stores its description /* Checks whether E is a simple exit from LOOP and stores its description
into DESC. TODO Should replace cfgloopanal.c:simple_loop_exit_p. */ into DESC. */
static void static void
check_simple_exit (struct loop *loop, edge e, struct niter_desc *desc) check_simple_exit (struct loop *loop, edge e, struct niter_desc *desc)
...@@ -2353,8 +2353,7 @@ check_simple_exit (struct loop *loop, edge e, struct niter_desc *desc) ...@@ -2353,8 +2353,7 @@ check_simple_exit (struct loop *loop, edge e, struct niter_desc *desc)
iv_number_of_iterations (loop, at, condition, desc); iv_number_of_iterations (loop, at, condition, desc);
} }
/* Finds a simple exit of LOOP and stores its description into DESC. /* Finds a simple exit of LOOP and stores its description into DESC. */
TODO Should replace cfgloopanal.c:simple_loop_p. */
void void
find_simple_exit (struct loop *loop, struct niter_desc *desc) find_simple_exit (struct loop *loop, struct niter_desc *desc)
......
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