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>
* genattrtab.c: Don't handle MATCH_INSN.
......
......@@ -36,29 +36,6 @@ struct lpt_decision
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. */
struct loop
{
......@@ -77,11 +54,6 @@ struct loop
/* For loop unrolling/peeling decision. */
struct lpt_decision lpt_decision;
/* Simple loop description. */
int simple;
struct loop_desc desc;
int has_desc;
/* Number of loop insns. */
unsigned ninsns;
......@@ -305,8 +277,6 @@ extern void force_single_succ_latches (struct loops *);
extern void verify_loop_structure (struct loops *);
/* 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 unsigned expected_loop_iterations (const struct loop *);
......@@ -370,8 +340,8 @@ struct rtx_iv
unsigned first_special : 1;
};
/* This should replace struct loop_desc. We keep this just so that we are
able to compare the results. */
/* The description of an exit from the loop and of the number of iterations
till we take the exit. */
struct niter_desc
{
......
......@@ -2306,7 +2306,7 @@ zero_iter:
}
/* 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
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);
}
/* Finds a simple exit of LOOP and stores its description into DESC.
TODO Should replace cfgloopanal.c:simple_loop_p. */
/* Finds a simple exit of LOOP and stores its description into DESC. */
void
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