Commit 0d52bcc1 by Kazu Hirata

auto-inc-dec.c, [...]: Fix comment typos.

	* auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S,
	config/sh/divcost-analysis, dbgcnt.def, df-core.c,
	df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c,
	tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c,
	tree-vect-transform.c: Fix comment typos.  Follow spelling
	conventions.

From-SVN: r125666
parent ebca1de4
2007-06-12 Seongbae Park <seongbae.park@gmail.com> 2007-06-13 Kazu Hirata <kazu@codesourcery.com>
* auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S,
config/sh/divcost-analysis, dbgcnt.def, df-core.c,
df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c,
tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c,
tree-vect-transform.c: Fix comment typos. Follow spelling
conventions.
2007-06-12 Seongbae Park <seongbae.park@gmail.com>
* df-scan.c (df_get_exit-block_use_set): Always add the stack pointer * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
to the exit block use set. to the exit block use set.
......
...@@ -90,7 +90,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ...@@ -90,7 +90,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT or HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT or
HAVE_POST_DECREMENT defined. HAVE_POST_DECREMENT defined.
2) c is a contant not equal to the width of the value being accessed 2) c is a constant not equal to the width of the value being accessed
by the pointer. This is useful for machines that have by the pointer. This is useful for machines that have
HAVE_PRE_MODIFY_DISP, HAVE_POST_MODIFY_DISP defined. HAVE_PRE_MODIFY_DISP, HAVE_POST_MODIFY_DISP defined.
...@@ -445,7 +445,7 @@ static rtx *reg_next_def = NULL; ...@@ -445,7 +445,7 @@ static rtx *reg_next_def = NULL;
/* Move dead note that match PATTERN to TO_INSN from FROM_INSN. We do /* Move dead note that match PATTERN to TO_INSN from FROM_INSN. We do
not really care about moving any other notes from the inc or add not really care about moving any other notes from the inc or add
insn. Moving the REG_EQUAL and REG_EQUIV is clearly wrong and it insn. Moving the REG_EQUAL and REG_EQUIV is clearly wrong and it
does not appear that there are any other kinds of relavant notes. */ does not appear that there are any other kinds of relevant notes. */
static void static void
move_dead_notes (rtx to_insn, rtx from_insn, rtx pattern) move_dead_notes (rtx to_insn, rtx from_insn, rtx pattern)
...@@ -1195,7 +1195,7 @@ find_inc (bool first_try) ...@@ -1195,7 +1195,7 @@ find_inc (bool first_try)
return false; return false;
} }
/* Need to check that there are no assignemnts to b /* Need to check that there are no assignments to b
before the add insn. */ before the add insn. */
other_insn other_insn
= get_next_ref (REGNO (inc_insn.reg1), bb, reg_next_def); = get_next_ref (REGNO (inc_insn.reg1), bb, reg_next_def);
......
...@@ -391,7 +391,7 @@ add_path (char *path, int chain, int cxx_aware, bool user_supplied_p) ...@@ -391,7 +391,7 @@ add_path (char *path, int chain, int cxx_aware, bool user_supplied_p)
#if defined (HAVE_DOS_BASED_FILE_SYSTEM) #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
/* Remove unnecessary trailing slashes. On some versions of MS /* Remove unnecessary trailing slashes. On some versions of MS
Windows, trailing _forward_ slashes cause no problems for stat(). Windows, trailing _forward_ slashes cause no problems for stat().
On newer versions, stat() does not recognise a directory that ends On newer versions, stat() does not recognize a directory that ends
in a '\\' or '/', unless it is a drive root dir, such as "c:/", in a '\\' or '/', unless it is a drive root dir, such as "c:/",
where it is obligatory. */ where it is obligatory. */
int pathlen = strlen (path); int pathlen = strlen (path);
......
...@@ -327,7 +327,7 @@ div_32: tstb ar1, ar1 ...@@ -327,7 +327,7 @@ div_32: tstb ar1, ar1
; Now divisor and dividend are aligned. Do first SUBC by hand, save ; Now divisor and dividend are aligned. Do first SUBC by hand, save
; of the forst quotient digit. Then, shift divisor right rather ; of the forst quotient digit. Then, shift divisor right rather
; than shifting dividend left. This leaves a zero in the top bit of ; than shifting dividend left. This leaves a zero in the top bit of
; the divident ; the dividend
; ;
ldi 1, ar0 ; Initizialize MSB of quotient ldi 1, ar0 ; Initizialize MSB of quotient
lsh rc, ar0 ; create a mask for MSBs lsh rc, ar0 ; create a mask for MSBs
......
...@@ -39,7 +39,7 @@ div_le128_neg -> div_by_1_neg: 4 ...@@ -39,7 +39,7 @@ div_le128_neg -> div_by_1_neg: 4
div_le128_neg -> rts 18 div_le128_neg -> rts 18
sh4-200 absolute divisor range: sh4-200 absolute divisor range:
1 [2..128] [129..64K) [64K..|divident|/256] >=64K,>|divident/256| 1 [2..128] [129..64K) [64K..|dividend|/256] >=64K,>|dividend/256|
udiv 18 22 38 32 30 udiv 18 22 38 32 30
sdiv pos: 20 24 41 35 32 sdiv pos: 20 24 41 35 32
sdiv neg: 15 25 42 36 33 sdiv neg: 15 25 42 36 33
......
...@@ -33,7 +33,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ...@@ -33,7 +33,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
How does it work ? How does it work ?
Everytime dbg_cnt(named-counter) is called, Every time dbg_cnt(named-counter) is called,
the counter is incremented for the named-counter. the counter is incremented for the named-counter.
And the incremented value is compared against the threshold (limit) And the incremented value is compared against the threshold (limit)
specified by the option. specified by the option.
......
...@@ -64,7 +64,7 @@ dataflow solution. The transfer functions are only rebuilt if the ...@@ -64,7 +64,7 @@ dataflow solution. The transfer functions are only rebuilt if the
some instruction within the block has changed. some instruction within the block has changed.
The top layer is the dataflow solution itself. The dataflow solution The top layer is the dataflow solution itself. The dataflow solution
is computed by using an efficient iterative solver and the trasfer is computed by using an efficient iterative solver and the transfer
functions. The dataflow solution must be recomputed whenever the functions. The dataflow solution must be recomputed whenever the
control changes or if one of the transfer function changes. control changes or if one of the transfer function changes.
...@@ -115,7 +115,7 @@ DF_ANALYZE causes all of the defined problems to be (re)solved. When ...@@ -115,7 +115,7 @@ DF_ANALYZE causes all of the defined problems to be (re)solved. When
DF_ANALYZE is completes, the IN and OUT sets for each basic block DF_ANALYZE is completes, the IN and OUT sets for each basic block
contain the computer information. The DF_*_BB_INFO macros can be used contain the computer information. The DF_*_BB_INFO macros can be used
to access these bitvectors. All deferred rescannings are down before to access these bitvectors. All deferred rescannings are down before
the transfer functions are recompited. the transfer functions are recomputed.
DF_DUMP can then be called to dump the information produce to some DF_DUMP can then be called to dump the information produce to some
file. This calls DF_DUMP_START, to print the information that is not file. This calls DF_DUMP_START, to print the information that is not
...@@ -177,7 +177,7 @@ There are four ways of doing the incremental scanning: ...@@ -177,7 +177,7 @@ There are four ways of doing the incremental scanning:
rescanned may be impractical. Cse and regrename fall into this rescanned may be impractical. Cse and regrename fall into this
category. category.
2) Defered rescanning - Calls to df_insn_rescan, df_notes_rescan, and 2) Deferred rescanning - Calls to df_insn_rescan, df_notes_rescan, and
df_insn_delete do not immediately change the insn but instead make df_insn_delete do not immediately change the insn but instead make
a note that the insn needs to be rescanned. The next call to a note that the insn needs to be rescanned. The next call to
df_analyze, df_finish_pass, or df_process_deferred_rescans will df_analyze, df_finish_pass, or df_process_deferred_rescans will
...@@ -635,7 +635,7 @@ df_remove_problem (struct dataflow *dflow) ...@@ -635,7 +635,7 @@ df_remove_problem (struct dataflow *dflow)
/* Remove all of the problems that are not permanent. Scanning, lr, /* Remove all of the problems that are not permanent. Scanning, lr,
ur and live are permanent, the rest are removeable. Also clear all ur and live are permanent, the rest are removable. Also clear all
of the changeable_flags. */ of the changeable_flags. */
void void
...@@ -1505,7 +1505,7 @@ df_bb_delete (int bb_index) ...@@ -1505,7 +1505,7 @@ df_bb_delete (int bb_index)
dataflow infomation is not being updated properly. You can just dataflow infomation is not being updated properly. You can just
sprinkle calls in until you find the place that is changing an sprinkle calls in until you find the place that is changing an
underlying structure without calling the proper updating underlying structure without calling the proper updating
rountine. */ routine. */
void void
df_verify (void) df_verify (void)
......
...@@ -4264,7 +4264,7 @@ df_simulate_fixup_sets (basic_block bb, bitmap live) ...@@ -4264,7 +4264,7 @@ df_simulate_fixup_sets (basic_block bb, bitmap live)
} }
/* Apply the artifical uses and defs at the top of BB in a forwards /* Apply the artificial uses and defs at the top of BB in a forwards
direction. */ direction. */
void void
...@@ -4304,7 +4304,7 @@ df_simulate_one_insn_forwards (basic_block bb, rtx insn, bitmap live) ...@@ -4304,7 +4304,7 @@ df_simulate_one_insn_forwards (basic_block bb, rtx insn, bitmap live)
} }
/* Apply the artifical uses and defs at the end of BB in a backwards /* Apply the artificial uses and defs at the end of BB in a backwards
direction. */ direction. */
void void
......
...@@ -1635,7 +1635,7 @@ df_reorganize_refs_by_insn_bb (basic_block bb, unsigned int offset, ...@@ -1635,7 +1635,7 @@ df_reorganize_refs_by_insn_bb (basic_block bb, unsigned int offset,
} }
/* Organinze the refs by insn into the table in REF_INFO. If /* Organize the refs by insn into the table in REF_INFO. If
blocks_to_analyze is defined, use that set, otherwise the entire blocks_to_analyze is defined, use that set, otherwise the entire
program. Include the defs if INCLUDE_DEFS. Include the uses if program. Include the defs if INCLUDE_DEFS. Include the uses if
INCLUDE_USES. Include the eq_uses if INCLUDE_EQ_USES. */ INCLUDE_USES. Include the eq_uses if INCLUDE_EQ_USES. */
...@@ -3599,7 +3599,7 @@ df_get_entry_block_def_set (bitmap entry_block_defs) ...@@ -3599,7 +3599,7 @@ df_get_entry_block_def_set (bitmap entry_block_defs)
/* Return the (conservative) set of hard registers that are defined on /* Return the (conservative) set of hard registers that are defined on
entry to the function. entry to the function.
It uses df->entry_block_defs to determine which regster It uses df->entry_block_defs to determine which register
reference to include. */ reference to include. */
static void static void
......
...@@ -800,7 +800,7 @@ extern struct df *df; ...@@ -800,7 +800,7 @@ extern struct df *df;
#define df_chain (df->problems_by_index[DF_CHAIN]) #define df_chain (df->problems_by_index[DF_CHAIN])
#define df_note (df->problems_by_index[DF_NOTE]) #define df_note (df->problems_by_index[DF_NOTE])
/* This symbol turns on checking that each modfication of the cfg has /* This symbol turns on checking that each modification of the cfg has
been identified to the appropriate df routines. It is not part of been identified to the appropriate df routines. It is not part of
verification per se because the check that the final solution has verification per se because the check that the final solution has
not changed covers this. However, if the solution is not being not changed covers this. However, if the solution is not being
......
...@@ -1242,9 +1242,9 @@ iterate_fix_dominators (enum cdi_direction dir, VEC (basic_block, heap) *bbs, ...@@ -1242,9 +1242,9 @@ iterate_fix_dominators (enum cdi_direction dir, VEC (basic_block, heap) *bbs,
Then, we need to establish the dominance relation among the basic blocks Then, we need to establish the dominance relation among the basic blocks
in BBS. We split the dominance tree by removing the immediate dominator in BBS. We split the dominance tree by removing the immediate dominator
edges from BBS, creating a forrest F. We form a graph G whose vertices edges from BBS, creating a forest F. We form a graph G whose vertices
are BBS and ENTRY and X -> Y is an edge of G if there exists an edge are BBS and ENTRY and X -> Y is an edge of G if there exists an edge
X' -> Y in CFG such that X' belongs to the tree of the dominance forrest X' -> Y in CFG such that X' belongs to the tree of the dominance forest
whose root is X. We then determine dominance tree of G. Note that whose root is X. We then determine dominance tree of G. Note that
for X, Y in BBS, X dominates Y in CFG if and only if X dominates Y in G. for X, Y in BBS, X dominates Y in CFG if and only if X dominates Y in G.
In this step, we can use arbitrary algorithm to determine dominators. In this step, we can use arbitrary algorithm to determine dominators.
......
...@@ -96,7 +96,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ...@@ -96,7 +96,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
possible for each address. This pass is a forwards pass through possible for each address. This pass is a forwards pass through
each basic block. From the point of view of the global technique, each basic block. From the point of view of the global technique,
the first pass could examine a block in either direction. The the first pass could examine a block in either direction. The
forwards ordering is to accomodate cselib. forwards ordering is to accommodate cselib.
We a simplifying assumption: addresses fall into four broad We a simplifying assumption: addresses fall into four broad
categories: categories:
...@@ -183,7 +183,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA ...@@ -183,7 +183,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
c) For any pass that may prespill, there is currently no c) For any pass that may prespill, there is currently no
mechanism to tell the dse pass that the slot being used has the mechanism to tell the dse pass that the slot being used has the
special properties that reload uses. It may be that all that is special properties that reload uses. It may be that all that is
requirred is to have those passes make the same calls that reload required is to have those passes make the same calls that reload
does, assuming that the alias sets can be manipulated in the same does, assuming that the alias sets can be manipulated in the same
way. */ way. */
...@@ -710,7 +710,7 @@ dse_step0 (void) ...@@ -710,7 +710,7 @@ dse_step0 (void)
First step. First step.
Scan all of the insns. Any random ordering of the blocks is fine. Scan all of the insns. Any random ordering of the blocks is fine.
Each block is scanned in forward order to accomodate cselib which Each block is scanned in forward order to accommodate cselib which
is used to remove stores with non-constant bases. is used to remove stores with non-constant bases.
----------------------------------------------------------------------------*/ ----------------------------------------------------------------------------*/
...@@ -780,7 +780,7 @@ replace_inc_dec (rtx *r, void *d) ...@@ -780,7 +780,7 @@ replace_inc_dec (rtx *r, void *d)
case PRE_MODIFY: case PRE_MODIFY:
case POST_MODIFY: case POST_MODIFY:
{ {
/* We can resuse the add because we are about to delete the /* We can reuse the add because we are about to delete the
insn that contained it. */ insn that contained it. */
rtx add = XEXP (x, 0); rtx add = XEXP (x, 0);
rtx r1 = XEXP (add, 0); rtx r1 = XEXP (add, 0);
...@@ -1536,7 +1536,7 @@ check_mem_read_rtx (rtx *loc, void *data) ...@@ -1536,7 +1536,7 @@ check_mem_read_rtx (rtx *loc, void *data)
read_info->next = insn_info->read_rec; read_info->next = insn_info->read_rec;
insn_info->read_rec = read_info; insn_info->read_rec = read_info;
/* We ignore the clobbers in store_info. The is mildly agressive, /* We ignore the clobbers in store_info. The is mildly aggressive,
but there really should not be a clobber followed by a read. */ but there really should not be a clobber followed by a read. */
if (spill_alias_set) if (spill_alias_set)
...@@ -1756,7 +1756,7 @@ scan_insn (bb_info_t bb_info, rtx insn) ...@@ -1756,7 +1756,7 @@ scan_insn (bb_info_t bb_info, rtx insn)
bb_info->last_insn = insn_info; bb_info->last_insn = insn_info;
/* Cselib clears the table for this case, so we have to essentually /* Cselib clears the table for this case, so we have to essentially
do the same. */ do the same. */
if (NONJUMP_INSN_P (insn) if (NONJUMP_INSN_P (insn)
&& GET_CODE (PATTERN (insn)) == ASM_OPERANDS && GET_CODE (PATTERN (insn)) == ASM_OPERANDS
...@@ -1947,7 +1947,7 @@ dse_step1 (void) ...@@ -1947,7 +1947,7 @@ dse_step1 (void)
algorithm must take a more conservative view of block algorithm must take a more conservative view of block
mode reads than the local alg does. So to get the case mode reads than the local alg does. So to get the case
where you have a store to the frame followed by a non where you have a store to the frame followed by a non
overlaping block more read, we look at the active local overlapping block more read, we look at the active local
stores at the end of the function and delete all of the stores at the end of the function and delete all of the
frame and spill based ones. */ frame and spill based ones. */
if (stores_off_frame_dead_at_return if (stores_off_frame_dead_at_return
...@@ -2762,7 +2762,7 @@ dse_step4 (void) ...@@ -2762,7 +2762,7 @@ dse_step4 (void)
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
Fifth step. Fifth step.
Delete the stores that can only be deleted using the global informantion. Delete the stores that can only be deleted using the global information.
----------------------------------------------------------------------------*/ ----------------------------------------------------------------------------*/
......
...@@ -406,7 +406,7 @@ regstat_get_setjmp_crosses (void) ...@@ -406,7 +406,7 @@ regstat_get_setjmp_crosses (void)
/* Compute callse crossed for BB. Live is a scratch bitvector. */ /* Compute calls crossed for BB. Live is a scratch bitvector. */
static void static void
regstat_bb_compute_calls_crossed (unsigned int bb_index, bitmap live) regstat_bb_compute_calls_crossed (unsigned int bb_index, bitmap live)
......
...@@ -769,7 +769,7 @@ free_data_ref (data_reference_p dr) ...@@ -769,7 +769,7 @@ free_data_ref (data_reference_p dr)
/* Analyzes memory reference MEMREF accessed in STMT. The reference /* Analyzes memory reference MEMREF accessed in STMT. The reference
is read if IS_READ is true, write otherwise. Returns the is read if IS_READ is true, write otherwise. Returns the
data_reference description of MEMREF. NEST is the outermost loop of the data_reference description of MEMREF. NEST is the outermost loop of the
loop nest in that the reference should be analysed. */ loop nest in that the reference should be analyzed. */
struct data_reference * struct data_reference *
create_data_ref (struct loop *nest, tree memref, tree stmt, bool is_read) create_data_ref (struct loop *nest, tree memref, tree stmt, bool is_read)
...@@ -1225,7 +1225,7 @@ initialize_data_dependence_relation (struct data_reference *a, ...@@ -1225,7 +1225,7 @@ initialize_data_dependence_relation (struct data_reference *a,
} }
/* If the base of the object is not invariant in the loop nest, we cannot /* If the base of the object is not invariant in the loop nest, we cannot
analyse it. TODO -- in fact, it would suffice to record that there may analyze it. TODO -- in fact, it would suffice to record that there may
be arbitrary dependences in the loops where the base object varies. */ be arbitrary dependences in the loops where the base object varies. */
if (!object_address_invariant_in_loop_p (VEC_index (loop_p, loop_nest, 0), if (!object_address_invariant_in_loop_p (VEC_index (loop_p, loop_nest, 0),
DR_BASE_OBJECT (a))) DR_BASE_OBJECT (a)))
...@@ -3942,7 +3942,7 @@ get_references_in_stmt (tree stmt, VEC (data_ref_loc, heap) **references) ...@@ -3942,7 +3942,7 @@ get_references_in_stmt (tree stmt, VEC (data_ref_loc, heap) **references)
/* Stores the data references in STMT to DATAREFS. If there is an unanalyzable /* Stores the data references in STMT to DATAREFS. If there is an unanalyzable
reference, returns false, otherwise returns true. NEST is the outermost reference, returns false, otherwise returns true. NEST is the outermost
loop of the loop nest in that the references should be analysed. */ loop of the loop nest in that the references should be analyzed. */
static bool static bool
find_data_references_in_stmt (struct loop *nest, tree stmt, find_data_references_in_stmt (struct loop *nest, tree stmt,
......
...@@ -642,7 +642,7 @@ rewrite_bittest (block_stmt_iterator *bsi) ...@@ -642,7 +642,7 @@ rewrite_bittest (block_stmt_iterator *bsi)
if (TREE_CODE (stmt1) != GIMPLE_MODIFY_STMT) if (TREE_CODE (stmt1) != GIMPLE_MODIFY_STMT)
return stmt; return stmt;
/* There is a conversion inbetween possibly inserted by fold. */ /* There is a conversion in between possibly inserted by fold. */
t = GIMPLE_STMT_OPERAND (stmt1, 1); t = GIMPLE_STMT_OPERAND (stmt1, 1);
if (TREE_CODE (t) == NOP_EXPR if (TREE_CODE (t) == NOP_EXPR
|| TREE_CODE (t) == CONVERT_EXPR) || TREE_CODE (t) == CONVERT_EXPR)
......
...@@ -1334,7 +1334,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs, ...@@ -1334,7 +1334,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs,
} }
/* Prepare the references in the form suitable for data dependence /* Prepare the references in the form suitable for data dependence
analysis. We ignore unanalysable data references (the results analysis. We ignore unanalyzable data references (the results
are used just as a heuristics to estimate temporality of the are used just as a heuristics to estimate temporality of the
references, hence we do not need to worry about correctness). */ references, hence we do not need to worry about correctness). */
for (gr = refs; gr; gr = gr->next) for (gr = refs; gr; gr = gr->next)
...@@ -1376,7 +1376,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs, ...@@ -1376,7 +1376,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs,
if (DDR_ARE_DEPENDENT (dep) == chrec_dont_know if (DDR_ARE_DEPENDENT (dep) == chrec_dont_know
|| DDR_NUM_DIST_VECTS (dep) == 0) || DDR_NUM_DIST_VECTS (dep) == 0)
{ {
/* If the dependence cannot be analysed, assume that there might be /* If the dependence cannot be analyzed, assume that there might be
a reuse. */ a reuse. */
dist = 0; dist = 0;
...@@ -1385,7 +1385,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs, ...@@ -1385,7 +1385,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs,
} }
else else
{ {
/* The distance vectors are normalised to be always lexicographically /* The distance vectors are normalized to be always lexicographically
positive, hence we cannot tell just from them whether DDR_A comes positive, hence we cannot tell just from them whether DDR_A comes
before DDR_B or vice versa. However, it is not important, before DDR_B or vice versa. However, it is not important,
anyway -- if DDR_A is close to DDR_B, then it is either reused in anyway -- if DDR_A is close to DDR_B, then it is either reused in
......
...@@ -188,7 +188,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo) ...@@ -188,7 +188,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo)
"prologue peel iters set conservatively."); "prologue peel iters set conservatively.");
/* If peeling for alignment is unknown, loop bound of main loop becomes /* If peeling for alignment is unknown, loop bound of main loop becomes
unkown. */ unknown. */
peel_iters_epilogue = vf - 1; peel_iters_epilogue = vf - 1;
if (vect_print_dump_info (REPORT_DETAILS)) if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "cost model: " fprintf (vect_dump, "cost model: "
...@@ -270,7 +270,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo) ...@@ -270,7 +270,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo)
/* TODO: Close dependency between vect_model_*_cost and vectorizable_* /* TODO: Close dependency between vect_model_*_cost and vectorizable_*
functions. Design better to avoid maintainence issues. */ functions. Design better to avoid maintenance issues. */
/* Function vect_model_reduction_cost. /* Function vect_model_reduction_cost.
...@@ -526,7 +526,7 @@ vect_model_load_cost (stmt_vec_info stmt_info, int ncopies) ...@@ -526,7 +526,7 @@ vect_model_load_cost (stmt_vec_info stmt_info, int ncopies)
/* Unaligned software pipeline has a load of an address, an initial /* Unaligned software pipeline has a load of an address, an initial
load, and possibly a mask operation to "prime" the loop. However, load, and possibly a mask operation to "prime" the loop. However,
if this is an access in a group of loads, which provide strided if this is an access in a group of loads, which provide strided
acccess, then the above cost should only be considered for one access, then the above cost should only be considered for one
access in the group. Inside the loop, there is a load op access in the group. Inside the loop, there is a load op
and a realignment op. */ and a realignment op. */
......
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