In the
r10-7197-gbae7b38cf8a21e068ad5c0bab089dedb78af3346 commit I've
noticed duplicated word in a message, which lead me to grep for those and
we have a tons of them.
I've used
grep -v 'long long\|optab optab\|template template\|double double' *.[chS] */*.[chS] *.def config/*/* 2>/dev/null | grep ' \([a-zA-Z]\+\) \1 '
Note, the command will not detect the doubled words at the start or end of
line or when one of the words is at the end of line and the next one at the
start of another one.
Some of it is fairly obvious, e.g. all the "the the" cases which is
something I've posted and committed patch for already e.g. in 2016,
other cases are often valid, e.g. "that that" seems to look mostly ok to me.
Some cases are quite hard to figure out, I've left out some of them from the
patch (e.g. "and and" in some cases isn't talking about bitwise/logical and
and so looks incorrect, but in other cases it is talking about those
operations).
In most cases the right solution seems to be to remove one of the duplicated
words, but not always.
I think most important are the ones with user visible messages (in the patch
3 of the first 4 hunks), the rest is just comments (and internal
documentation; for that see the doc/tm.texi changes).
2020-03-17 Jakub Jelinek <jakub@redhat.com>
* lra-spills.c (remove_pseudos): Fix up duplicated word issue in
a dump message.
* tree-sra.c (create_access_replacement): Fix up duplicated word issue
in a comment.
* read-rtl-function.c (find_param_by_name,
function_reader::parse_enum_value, function_reader::get_insn_by_uid):
Likewise.
* spellcheck.c (get_edit_distance_cutoff): Likewise.
* tree-data-ref.c (create_ifn_alias_checks): Likewise.
* tree.def (SWITCH_EXPR): Likewise.
* selftest.c (assert_str_contains): Likewise.
* ipa-param-manipulation.h (class ipa_param_body_adjustments):
Likewise.
* tree-ssa-math-opts.c (convert_expand_mult_copysign): Likewise.
* tree-ssa-loop-split.c (find_vdef_in_loop): Likewise.
* langhooks.h (struct lang_hooks_for_decls): Likewise.
* ipa-prop.h (struct ipa_param_descriptor): Likewise.
* tree-ssa-strlen.c (handle_builtin_string_cmp, handle_store):
Likewise.
* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Likewise.
* tree-ssa-reassoc.c (reassociate_bb): Likewise.
* tree.c (component_ref_size): Likewise.
* hsa-common.c (hsa_init_compilation_unit_data): Likewise.
* gimple-ssa-sprintf.c (get_string_length, format_string,
format_directive): Likewise.
* omp-grid.c (grid_process_kernel_body_copy): Likewise.
* input.c (string_concat_db::get_string_concatenation,
test_lexer_string_locations_ucn4): Likewise.
* cfgexpand.c (pass_expand::execute): Likewise.
* gimple-ssa-warn-restrict.c (builtin_memref::offset_out_of_bounds,
maybe_diag_overlap): Likewise.
* rtl.c (RTX_CODE_HWINT_P_1): Likewise.
* shrink-wrap.c (spread_components): Likewise.
* tree-ssa-dse.c (initialize_ao_ref_for_dse, valid_ao_ref_for_dse):
Likewise.
* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
Likewise.
* dwarf2out.c (dwarf2out_early_finish): Likewise.
* gimple-ssa-store-merging.c: Likewise.
* ira-costs.c (record_operand_costs): Likewise.
* tree-vect-loop.c (vectorizable_reduction): Likewise.
* target.def (dispatch): Likewise.
(validate_dims, gen_ccmp_first): Fix up duplicated word issue
in documentation text.
* doc/tm.texi: Regenerated.
* config/i386/x86-tune.def (X86_TUNE_PARTIAL_FLAG_REG_STALL): Fix up
duplicated word issue in a comment.
* config/i386/i386.c (ix86_test_loading_unspec): Likewise.
* config/i386/i386-features.c (remove_partial_avx_dependency):
Likewise.
* config/msp430/msp430.c (msp430_select_section): Likewise.
* config/gcn/gcn-run.c (load_image): Likewise.
* config/aarch64/aarch64-sve.md (sve_ld1r<mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Likewise.
* config/aarch64/falkor-tag-collision-avoidance.c
(single_dest_per_chain): Likewise.
* config/nvptx/nvptx.c (nvptx_record_fndecl): Likewise.
* config/fr30/fr30.c (fr30_arg_partial_bytes): Likewise.
* config/rs6000/rs6000-string.c (expand_cmp_vec_sequence): Likewise.
* config/rs6000/rs6000-p8swap.c (replace_swapped_load_constant):
Likewise.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
* config/rs6000/rs6000-logue.c
(rs6000_emit_probe_stack_range_stack_clash): Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Likewise.
Fix various other issues in the comment.
c-family/
* c-common.c (resolve_overloaded_builtin): Fix up duplicated word
issue in a diagnostic message.
cp/
* pt.c (tsubst): Fix up duplicated word issue in a diagnostic message.
(lookup_template_class_1, tsubst_expr): Fix up duplicated word issue
in a comment.
* parser.c (cp_parser_statement, cp_parser_linkage_specification,
cp_parser_placeholder_type_specifier,
cp_parser_constraint_requires_parens): Likewise.
* name-lookup.c (suggest_alternative_in_explicit_scope): Likewise.
fortran/
* array.c (gfc_check_iter_variable): Fix up duplicated word issue
in a comment.
* arith.c (gfc_arith_concat): Likewise.
* resolve.c (gfc_resolve_ref): Likewise.
* frontend-passes.c (matmul_lhs_realloc): Likewise.
* module.c (gfc_match_submodule, load_needed): Likewise.
* trans-expr.c (gfc_init_se): Likewise.
+2020-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ * lra-spills.c (remove_pseudos): Fix up duplicated word issue in
+ a dump message.
+ * tree-sra.c (create_access_replacement): Fix up duplicated word issue
+ in a comment.
+ * read-rtl-function.c (find_param_by_name,
+ function_reader::parse_enum_value, function_reader::get_insn_by_uid):
+ Likewise.
+ * spellcheck.c (get_edit_distance_cutoff): Likewise.
+ * tree-data-ref.c (create_ifn_alias_checks): Likewise.
+ * tree.def (SWITCH_EXPR): Likewise.
+ * selftest.c (assert_str_contains): Likewise.
+ * ipa-param-manipulation.h (class ipa_param_body_adjustments):
+ Likewise.
+ * tree-ssa-math-opts.c (convert_expand_mult_copysign): Likewise.
+ * tree-ssa-loop-split.c (find_vdef_in_loop): Likewise.
+ * langhooks.h (struct lang_hooks_for_decls): Likewise.
+ * ipa-prop.h (struct ipa_param_descriptor): Likewise.
+ * tree-ssa-strlen.c (handle_builtin_string_cmp, handle_store):
+ Likewise.
+ * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Likewise.
+ * tree-ssa-reassoc.c (reassociate_bb): Likewise.
+ * tree.c (component_ref_size): Likewise.
+ * hsa-common.c (hsa_init_compilation_unit_data): Likewise.
+ * gimple-ssa-sprintf.c (get_string_length, format_string,
+ format_directive): Likewise.
+ * omp-grid.c (grid_process_kernel_body_copy): Likewise.
+ * input.c (string_concat_db::get_string_concatenation,
+ test_lexer_string_locations_ucn4): Likewise.
+ * cfgexpand.c (pass_expand::execute): Likewise.
+ * gimple-ssa-warn-restrict.c (builtin_memref::offset_out_of_bounds,
+ maybe_diag_overlap): Likewise.
+ * rtl.c (RTX_CODE_HWINT_P_1): Likewise.
+ * shrink-wrap.c (spread_components): Likewise.
+ * tree-ssa-dse.c (initialize_ao_ref_for_dse, valid_ao_ref_for_dse):
+ Likewise.
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
+ Likewise.
+ * dwarf2out.c (dwarf2out_early_finish): Likewise.
+ * gimple-ssa-store-merging.c: Likewise.
+ * ira-costs.c (record_operand_costs): Likewise.
+ * tree-vect-loop.c (vectorizable_reduction): Likewise.
+ * target.def (dispatch): Likewise.
+ (validate_dims, gen_ccmp_first): Fix up duplicated word issue
+ in documentation text.
+ * doc/tm.texi: Regenerated.
+ * config/i386/x86-tune.def (X86_TUNE_PARTIAL_FLAG_REG_STALL): Fix up
+ duplicated word issue in a comment.
+ * config/i386/i386.c (ix86_test_loading_unspec): Likewise.
+ * config/i386/i386-features.c (remove_partial_avx_dependency):
+ Likewise.
+ * config/msp430/msp430.c (msp430_select_section): Likewise.
+ * config/gcn/gcn-run.c (load_image): Likewise.
+ * config/aarch64/aarch64-sve.md (sve_ld1r<mode>): Likewise.
+ * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Likewise.
+ * config/aarch64/falkor-tag-collision-avoidance.c
+ (single_dest_per_chain): Likewise.
+ * config/nvptx/nvptx.c (nvptx_record_fndecl): Likewise.
+ * config/fr30/fr30.c (fr30_arg_partial_bytes): Likewise.
+ * config/rs6000/rs6000-string.c (expand_cmp_vec_sequence): Likewise.
+ * config/rs6000/rs6000-p8swap.c (replace_swapped_load_constant):
+ Likewise.
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
+ * config/rs6000/rs6000-logue.c
+ (rs6000_emit_probe_stack_range_stack_clash): Likewise.
+ * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Likewise.
+ Fix various other issues in the comment.
+
2020-03-17 Mihail Ionescu <mihail.ionescu@arm.com>
* config/arm/t-rmprofile: create new multilib for
+2020-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
+ issue in a diagnostic message.
+
2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
* c.opt: Avoid redundancy in the help text.
warning_at (input_location, 0,
"this target does not define a speculation barrier; "
"your program will still execute correctly, "
- "but incorrect speculation may not be be "
+ "but incorrect speculation may not be "
"restricted");
/* If the optional second argument is present, handle any side
if (crtl->tail_call_emit)
fixup_tail_calls ();
- /* BB subdivision may have created basic blocks that are are only reachable
+ /* BB subdivision may have created basic blocks that are only reachable
from unlikely bbs but not marked as such in the profile. */
if (optimize)
propagate_unlikely_bbs_forward ();
)
;; This is used for vec_duplicate<mode>s from memory, but can also
-;; be used by combine to optimize selects of a a vec_duplicate<mode>
+;; be used by combine to optimize selects of a vec_duplicate<mode>
;; with zero.
(define_insn "sve_ld1r<mode>"
[(set (match_operand:SVE_ALL 0 "register_operand" "=w")
{
base_off = 0x1000 - 1;
/* We must still make sure that the base offset is aligned with respect
- to the address. But it may may not be made any bigger. */
+ to the address. But it may not be made any bigger. */
base_off -= (((base_off % msize) - (off_val_1 % msize)) + msize) % msize;
}
/* Callback function to traverse the tag map and drop loads that have the same
- destination and and in the same chain of occurrence. Routine always returns
+ destination and are in the same chain of occurrence. Routine always returns
true to allow traversal through all of TAG_MAP. */
bool
single_dest_per_chain (const rtx &t ATTRIBUTE_UNUSED, insn_info_list_t *v,
are sufficient argument registers available (or if no registers
are needed because the parameter must be passed on the stack)
then return zero, as this parameter does not require partial
- register, partial stack stack space. */
+ register, partial stack space. */
if (*cum + fr30_num_arg_regs (arg) <= FR30_NUM_ARG_REGS)
return 0;
break;
case R_AMDGPU_REL64:
/* FIXME
- LLD seems to emit REL64 where the the assembler has ABS64.
+ LLD seems to emit REL64 where the assembler has ABS64.
This is clearly wrong because it's not what the compiler
is expecting. Let's assume, for now, that it's a bug.
In any case, GCN kernels are always self contained and
loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
/* Generate a vxorps at entry of the nearest dominator for basic
- blocks with conversions, which is in the the fake loop that
+ blocks with conversions, which is in the fake loop that
contains the whole function, so that there is only a single
vxorps in the whole function. */
bb = nearest_common_dominator_for_set (CDI_DOMINATORS,
/* Verify that the two mems are thus treated as equal. */
ASSERT_TRUE (rtx_equal_p (dst, v0));
- /* Verify the the insn is recognized. */
+ /* Verify that the insn is recognized. */
ASSERT_NE(-1, recog_memoized (insn));
/* Test of an UNSPEC_VOLATILE, which has its own enum values. */
upper part undefined. */
DEF_TUNE (X86_TUNE_SSE_SPLIT_REGS, "sse_split_regs", m_ATHLON_K8)
-/* X86_TUNE_PARTIAL_FLAG_REG_STALL: this flag disables use of of flags
+/* X86_TUNE_PARTIAL_FLAG_REG_STALL: this flag disables use of flags
set by instructions affecting just some flags (in particular shifts).
This is because Core2 resolves dependencies on whole flags register
and such sequences introduce false dependency on previous instruction
case SECCAT_RODATA_MERGE_CONST:
return default_elf_select_section (decl, reloc, align);
- /* The sections listed below are are not supported for MSP430.
+ /* The sections listed below are not supported for MSP430.
They should not be generated, but in case they are, we use
default_select_section so they get placed in sections
the msp430 assembler and linker understand. */
ext_start = gen_reg_rtx (SImode);
/*
- # In fact, we want to check shift amonut is great than or equal 32,
- # but in some corner case, the shift amount might be very large value,
- # however we've defined SHIFT_COUNT_TRUNCATED, so GCC think we've
- # handle that correctly without any truncate.
- # so check the the condition of (shiftamount & 32) is most
- # safe way to do.
+ # In fact, we want to check shift amount is greater than or equal to
+ # 32, but in some corner case, the shift amount might be very large
+ # value, however we've defined SHIFT_COUNT_TRUNCATED, so GCC thinks
+ # we've handled that correctly without any truncate.
+ # So checking the condition of (shiftamount & 32) is the safest
+ # way to do it.
if (shiftamount & 32)
dst_low_part = 0
dst_high_part = src_low_part << shiftamount & 0x1f
}
/* DECL is an external FUNCTION_DECL, make sure its in the fndecl hash
- table and and write a ptx prototype. These are emitted at end of
+ table and write a ptx prototype. These are emitted at end of
compilation. */
static void
(e.g. ISA_2_1_MASKS, ISA_3_0_MASKS_SERVER) and for a list of
the specific flags that are associated with each of the cpu
choices that can be specified as the target of a -mcpu=target
- compile option, or as the the target of a --with-cpu=target
+ compile option, or as the target of a --with-cpu=target
configure option. Target flags that are specified in either
of these two ways are considered "implicit" since the flags
are not mentioned specifically by name.
/* If explicitly requested,
or the rounded size is not the same as the original size
- or the the rounded size is greater than a page,
+ or the rounded size is greater than a page,
then we will need a copy of the original stack pointer. */
if (rounded_size != orig_size
|| rounded_size > probe_interval
XEXP (new_mem, 0) = base_reg;
/* Move the newly created insn ahead of the load insn. */
- /* The last insn is the the insn that forced new_mem into a register. */
+ /* The last insn is the insn that forced new_mem into a register. */
rtx_insn *force_insn = get_last_insn ();
/* Remove this insn from the end of the instruction sequence. */
remove_insn (force_insn);
bnl 6,.Lmismatch
For the P8 LE case, we use lxvd2x and compare full 16 bytes
- but then use use vgbbd and a shift to get two bytes with the
+ but then use vgbbd and a shift to get two bytes with the
information we need in the correct order.
VEC/VSX compare sequence if TARGET_P9_VECTOR:
}
/* Enable the default support for IEEE 128-bit floating point on Linux VSX
- sytems. In GCC 7, we would enable the the IEEE 128-bit floating point
+ sytems. In GCC 7, we would enable the IEEE 128-bit floating point
infrastructure (-mfloat128-type) but not enable the actual __float128 type
unless the user used the explicit -mfloat128. In GCC 8, we enable both
the keyword as well as the type. */
+2020-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ * pt.c (tsubst): Fix up duplicated word issue in a diagnostic message.
+ (lookup_template_class_1, tsubst_expr): Fix up duplicated word issue
+ in a comment.
+ * parser.c (cp_parser_statement, cp_parser_linkage_specification,
+ cp_parser_placeholder_type_specifier,
+ cp_parser_constraint_requires_parens): Likewise.
+ * name-lookup.c (suggest_alternative_in_explicit_scope): Likewise.
+
2020-03-15 Iain Sandoe <iain@sandoe.co.uk>
* coroutines.cc (co_await_expander): Fix indentation.
/* Generate a name_hint at LOCATION for NAME, an IDENTIFIER_NODE for which name
lookup failed within the explicitly provided SCOPE.
- Suggest the the best meaningful candidates (if any), otherwise
+ Suggest the best meaningful candidates (if any), otherwise
an empty name_hint is returned. */
name_hint
/* This must be a namespace alias definition. */
if (std_attrs != NULL_TREE)
{
- /* Attributes should be parsed as part of the the
- declaration, so let's un-parse them. */
+ /* Attributes should be parsed as part of the
+ declaration, so let's un-parse them. */
saved_tokens.rollback();
std_attrs = NULL_TREE;
}
/* We're now using the new linkage. */
push_lang_context (linkage);
- /* Preserve the location of the the innermost linkage specification,
+ /* Preserve the location of the innermost linkage specification,
tracking the locations of nested specifications via a local. */
location_t saved_location
= parser->innermost_linkage_specification_location;
}
/* A type constraint constrains a contextually determined type or type
- parameter pack. However, the the Concepts TS does allow concepts
+ parameter pack. However, the Concepts TS does allow concepts
to introduce non-type and template template parameters. */
if (TREE_CODE (proto) != TYPE_DECL)
{
case CPP_EQ:
{
- /* An equal sign may be part of the the definition of a function,
+ /* An equal sign may be part of the definition of a function,
and not an assignment operator, when parsing the expression
for a trailing requires-clause. For example:
if (entry)
return entry->spec;
- /* If the the template's constraints are not satisfied,
+ /* If the template's constraints are not satisfied,
then we cannot form a valid type.
Note that the check is deferred until after the hash
else if (TYPENAME_IS_CLASS_P (t) && !CLASS_TYPE_P (f))
{
if (complain & tf_error)
- error ("%qT resolves to %qT, which is is not a class type",
+ error ("%qT resolves to %qT, which is not a class type",
t, f);
else
return error_mark_node;
case RANGE_FOR_STMT:
{
/* Construct another range_for, if this is not a final
- substitution (for inside inside a generic lambda of a
+ substitution (for inside a generic lambda of a
template). Otherwise convert to a regular for. */
tree decl, expr;
stmt = (processing_template_decl
This hook should check the launch dimensions provided for an OpenACC
compute region, or routine. Defaulted values are represented as -1
and non-constant values as 0. The @var{fn_level} is negative for the
-function corresponding to the compute region. For a routine is is the
+function corresponding to the compute region. For a routine it is the
outermost level at which partitioned execution may be spawned. The hook
should verify non-default values. If DECL is NULL, global defaults
are being validated and unspecified defaults should be filled in.
with @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.
The insns to prepare the compare are saved in @var{prep_seq} and the compare
insns are saved in @var{gen_seq}. They will be emitted when all the
- compares in the the conditional comparision are generated without error.
+ compares in the conditional comparision are generated without error.
@var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.
@end deftypefn
location related output removed and some LTO specific changes.
Some refactoring might make both smaller and easier to match up. */
- /* Traverse the DIE's and add add sibling attributes to those DIE's
+ /* Traverse the DIE's and add sibling attributes to those DIE's
that have children. */
add_sibling_attributes (comp_unit_die ());
for (limbo_die_node *node = limbo_die_list; node; node = node->next)
+2020-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ * array.c (gfc_check_iter_variable): Fix up duplicated word issue
+ in a comment.
+ * arith.c (gfc_arith_concat): Likewise.
+ * resolve.c (gfc_resolve_ref): Likewise.
+ * frontend-passes.c (matmul_lhs_realloc): Likewise.
+ * module.c (gfc_match_submodule, load_needed): Likewise.
+ * trans-expr.c (gfc_init_se): Likewise.
+
2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
* lang.opt: Avoid redundancy in the help text.
gfc_expr *result;
size_t len;
- /* By cleverly playing around with constructors, is is possible
+ /* By cleverly playing around with constructors, it is possible
to get mismaching types here. */
if (op1->ts.type != BT_CHARACTER || op2->ts.type != BT_CHARACTER
|| op1->ts.kind != op2->ts.kind)
static bool check_constructor (gfc_constructor_base, bool (*) (gfc_expr *));
/* Check an EXPR_VARIABLE expression in a constructor to make sure
- that that variable is an iteration variables. */
+ that that variable is an iteration variable. */
bool
gfc_check_iter_variable (gfc_expr *expr)
gcc_assert (ar && ar->type == AR_FULL);
/* c comes in as a full ref. Change it into a copy and make it into an
- element ref so it has the right form for for ALLOCATE. In the same
+ element ref so it has the right form for ALLOCATE. In the same
switch statement, also generate the size comparison for the secod IF
statement. */
ordered pair whose first element is the ancestor module name and
whose second element is the submodule name. 'Submodule_name' is
used for the submodule filename and uses '@' as a separator, whilst
- the name of the symbol for the module uses '.' as a a separator.
+ the name of the symbol for the module uses '.' as a separator.
The reasons for these choices are:
(i) To follow another leading brand in the submodule filenames;
(ii) Since '.' is not particularly visible in the filenames; and
sym->attr.use_assoc = 1;
/* Unliked derived types, a STRUCTURE may share names with other symbols.
- We greedily converted the the symbol name to lowercase before we knew its
+ We greedily converted the symbol name to lowercase before we knew its
type, so now we must fix it. */
if (sym->attr.flavor == FL_STRUCT)
sym->name = gfc_dt_upper_string (sym->name);
{
array_ref->u.ar.type = AR_ELEMENT;
expr->rank = 0;
- /* INQUIRY_LEN is not evaluated from the the rest of the expr
+ /* INQUIRY_LEN is not evaluated from the rest of the expr
but directly from the string length. This means that setting
the array indices to one does not matter but might trigger
a runtime bounds error. Suppress the check. */
Care must be taken when multiple se are created with the same parent.
The child se must be kept in sync. The easiest way is to delay creation
- of a child se until after after the previous se has been translated. */
+ of a child se until after the previous se has been translated. */
void
gfc_init_se (gfc_se * se, gfc_se * parent)
if (res.range.max < target_int_max ())
{
res.knownrange = true;
- /* When the the length of the longest string is known and not
+ /* When the length of the longest string is known and not
excessive use it as the likely length of the string(s). */
res.range.likely = res.range.max;
}
is bounded by MB_LEN_MAX * wcslen (S). */
res.range.max *= target_mb_len_max ();
res.range.unlikely = res.range.max;
- /* It's likely that the the total length is not more that
+ /* It's likely that the total length is not more that
2 * wcslen (S).*/
res.range.likely = res.range.min * 2;
}
else if (!info.is_string_func ())
{
- /* If the warning is for a file function function like fprintf
+ /* If the warning is for a file function like fprintf
of printf with no destination size just print the computed
result. */
if (min == max)
record the surrounding bit region, i.e. bits that could be stored in
a read-modify-write operation when storing the bit-field. Record store
chains to different bases in a hash_map (m_stores) and make sure to
- terminate such chains when appropriate (for example when when the stored
+ terminate such chains when appropriate (for example when the stored
values get used subsequently).
These stores can be a result of structure element initializers, array stores
etc. A store_immediate_info object is recorded for every such store.
bool hib = wi::les_p (offrng[0], offrng[1]);
bool lob = !hib;
- /* Set to the size remaining in the object object after subtracting
+ /* Set to the size remaining in the object after subtracting
REFOFF. It may become negative as a result of negative indices
into the enclosing object, such as in:
extern struct S { char a[4], b[3], c[1]; } *p;
}
/* Attempt to detect and diagnose an overlapping copy in a call expression
- EXPR involving an an access ACS to a built-in memory or string function.
+ EXPR involving an access ACS to a built-in memory or string function.
Return true when one has been detected, false otherwise. */
static bool
&& !lookup_attribute ("oacc function", DECL_ATTRIBUTES (fndecl)));
}
-/* Allocate HSA structures that are are used when dealing with different
+/* Allocate HSA structures that are used when dealing with different
functions. */
void
m_table->put (key_loc, concat);
}
-/* Determine if LOC was the location of the the initial token of a
+/* Determine if LOC was the location of the initial token of a
concatenation of string literal tokens.
If so, *OUT_NUM is written to with the number of tokens, and
*OUT_LOCS with the location of an array of locations of the
/* Verify that cpp_interpret_string works.
The string should be encoded in the execution character
- set. Assuming that that is UTF-8, we should have the following:
+ set. Assuming that is UTF-8, we should have the following:
----------- ---- ----- ------- ----------------
Byte offset Byte Octal Unicode Source Column(s)
----------- ---- ----- ------- ----------------
auto_vec<tree, 16> m_new_types;
- /* Vector of structures telling how to replace old parameters in in the
+ /* Vector of structures telling how to replace old parameters in the
function body. TODO: Even though there usually be only few, but should we
use a hash? */
struct GTY(()) ipa_param_descriptor
{
/* In analysis and modification phase, this is the PARAM_DECL of this
- parameter, in IPA LTO phase, this is the type of the the described
+ parameter, in IPA LTO phase, this is the type of the described
parameter or NULL if not known. Do not read this field directly but
through ipa_get_param and ipa_get_type as appropriate. */
tree decl_or_type;
hard_reg_class = REGNO_REG_CLASS (other_regno);
bigger_hard_reg_class = ira_pressure_class_translate[hard_reg_class];
/* Target code may return any cost for mode which does not
- fit the the hard reg class (e.g. DImode for AREG on
+ fit the hard reg class (e.g. DImode for AREG on
i386). Check this and use a bigger class to get the
right cost. */
if (bigger_hard_reg_class != NO_REGS
bool (*ok_for_sibcall) (const_tree);
/* Return a tree for the actual data of an array descriptor - or NULL_TREE
- if original tree is not an array descriptor. If the the second argument
+ if original tree is not an array descriptor. If the second argument
is true, only the TREE_TYPE is returned without generating a new tree. */
tree (*omp_array_data) (tree, bool);
lra_get_insn_recog_data (insn)->used_insn_alternative = -1;
if (lra_dump_file != NULL)
fprintf (lra_dump_file,
- "Memory subreg was simplified in in insn #%u\n",
+ "Memory subreg was simplified in insn #%u\n",
INSN_UID (insn));
}
}
/* Given freshly copied top level kernel SEQ, identify the individual OMP
components, mark them as part of kernel, copy assignment leading to them
just before DST, remapping them using WI and adding new temporaries to
- TGT_BIND, and and return the loop that will be used for kernel dispatch. */
+ TGT_BIND, and return the loop that will be used for kernel dispatch. */
static gomp_for *
grid_process_kernel_body_copy (grid_prop *grid, gimple_seq seq,
}
-/* Look within the the params of FNDECL for a param named NAME.
+/* Look within the params of FNDECL for a param named NAME.
Return NULL_TREE if one isn't found. */
static tree
/* Read a name, looking for a match against a string found in array
STRINGS of size NUM_VALUES.
- Return the index of the the matched string, or emit an error. */
+ Return the index of the matched string, or emit an error. */
int
function_reader::parse_enum_value (int num_values, const char *const *strings)
}
/* Given a UID value, try to locate a pointer to the corresponding
- rtx_insn *, or NULL if if can't be found. */
+ rtx_insn *, or NULL if it can't be found. */
rtx_insn **
function_reader::get_insn_by_uid (int uid)
#undef DEF_RTL_EXPR
};
-/* Whether rtxs with the given code code store data in the hwint field. */
+/* Whether rtxs with the given code store data in the hwint field. */
#define RTX_CODE_HWINT_P_1(ENUM) \
((ENUM) == CONST_INT || (ENUM) == CONST_DOUBLE \
}
/* Implementation detail of ASSERT_STR_CONTAINS.
- Use strstr to determine if val_needle is is within val_haystack.
+ Use strstr to determine if val_needle is within val_haystack.
::selftest::pass if it is found.
::selftest::fail if it is not found. */
todo.release ();
- /* Finally, mark everything not not needed both forwards and backwards. */
+ /* Finally, mark everything not needed both forwards and backwards. */
bool did_changes = false;
to be meaningful, given a goal of length GOAL_LEN and a candidate of
length CANDIDATE_LEN.
- This is a third of the the length of the candidate or of the goal,
+ This is a third of the length of the candidate or of the goal,
whichever is bigger. */
edit_distance_t
void, (rtx_insn *insn, int x),
hook_void_rtx_insn_int)
-/* The following member value is a a function that returns true is
+/* The following member value is a function that returns true is
dispatch schedling is supported in hardware and condition passed
as the second parameter is true. */
DEFHOOK
"This hook should check the launch dimensions provided for an OpenACC\n\
compute region, or routine. Defaulted values are represented as -1\n\
and non-constant values as 0. The @var{fn_level} is negative for the\n\
-function corresponding to the compute region. For a routine is is the\n\
+function corresponding to the compute region. For a routine it is the\n\
outermost level at which partitioned execution may be spawned. The hook\n\
should verify non-default values. If DECL is NULL, global defaults\n\
are being validated and unspecified defaults should be filled in.\n\
with @code{CC} for passing to @code{gen_ccmp_next} or @code{cbranch_optab}.\n\
The insns to prepare the compare are saved in @var{prep_seq} and the compare\n\
insns are saved in @var{gen_seq}. They will be emitted when all the\n\
- compares in the the conditional comparision are generated without error.\n\
+ compares in the conditional comparision are generated without error.\n\
@var{code} is the @code{rtx_code} of the compare for @var{op0} and @var{op1}.",
rtx, (rtx_insn **prep_seq, rtx_insn **gen_seq, int code, tree op0, tree op1),
NULL)
4. [guard m]: [guard m+1] for 0 <= m <= n-2
5. [join]: [guard n-1]
- We punt for the more complex case case of [join] being old and
+ We punt for the more complex case of [join] being old and
simply free the dominance info. We also punt on postdominators,
which aren't expected to be available at this point anyway. */
bi_call_bb = gimple_bb (bi_call);
return false;
/* Make sure that both DRs access the same pattern of bytes,
- with a constant length and and step. */
+ with a constant length and step. */
poly_uint64 seg_len;
if (!operand_equal_p (dr_a.seg_len, dr_b.seg_len, 0)
|| !poly_int_tree_p (dr_a.seg_len, &seg_len)
/* Create a variable for the given ACCESS which determines the type, name and a
few other properties. Return the variable declaration and store it also to
ACCESS->replacement. REG_TREE is used when creating a declaration to base a
- default-definition SSA name on on in order to facilitate an uninitialized
+ default-definition SSA name on in order to facilitate an uninitialized
warning. It is used instead of the actual ACCESS type if that is not of a
gimple register type. */
class avail_exprs_stack *avail_exprs_stack,
basic_block bb ATTRIBUTE_UNUSED)
{
- /* First query our hash table to see if the the expression is available
+ /* First query our hash table to see if the expression is available
there. A non-NULL return value will be either a constant or another
SSA_NAME. */
tree cached_lhs = avail_exprs_stack->lookup_avail_expr (stmt, false, true);
/* STMT is a statement that may write into memory. Analyze it and
initialize WRITE to describe how STMT affects memory.
- Return TRUE if the the statement was analyzed, FALSE otherwise.
+ Return TRUE if the statement was analyzed, FALSE otherwise.
It is always safe to return FALSE. But typically better optimziation
can be achieved by analyzing more statements. */
return false;
}
-/* Given REF from the the alias oracle, return TRUE if it is a valid
+/* Given REF from the alias oracle, return TRUE if it is a valid
memory reference for dead store elimination, false otherwise.
In particular, the reference must have a known base, known maximum
/* Non-pure call statement is conservatively assumed to impact all
memory locations. So place call statements ahead of other memory
- stores in the vector with an idea of of using them as shortcut
+ stores in the vector with an idea of using them as shortcut
terminators to memory alias analysis. */
if (gimple_code (stmt) == GIMPLE_CALL)
info->memory_stores.safe_push (stmt);
}
/* Try to expand the pattern x * copysign (1, y) into xorsign (x, y).
- This only happens when the the xorsign optab is defined, if the
+ This only happens when the xorsign optab is defined, if the
pattern is not a xorsign pattern or if expansion fails FALSE is
returned, otherwise TRUE is returned. */
static bool
int width;
/* For binary bit operations, if there are at least 3
- operands and the last last operand in OPS is a constant,
+ operands and the last operand in OPS is a constant,
move it to the front. This helps ensure that we generate
(X & Y) & C rather than (X & C) & Y. The former will
often match a canonical bit test when we get to RTL. */
int idx1 = get_stridx (arg1);
int idx2 = get_stridx (arg2);
- /* For strncmp set to the the value of the third argument if known. */
+ /* For strncmp set to the value of the third argument if known. */
HOST_WIDE_INT bound = -1;
tree len = NULL_TREE;
/* Extract the strncmp bound. */
tree ssaname = NULL_TREE, lhs = gimple_assign_lhs (stmt);
tree rhs = gimple_assign_rhs1 (stmt);
- /* The offset of the first byte in LHS modified by the the store. */
+ /* The offset of the first byte in LHS modified by the store. */
unsigned HOST_WIDE_INT offset = 0;
if (TREE_CODE (lhs) == MEM_REF
}
/* The epilogue code relies on the number of elements being a multiple
of the group size. The duplicate-and-interleave approach to setting
- up the the initial vector does too. */
+ up the initial vector does too. */
if (!multiple_p (nunits_out, group_size))
{
if (dump_enabled_p ())
}
/* BASE is the declared object of which MEMBER is either a member
- or that is is cast to REFTYPE (e.g., a char buffer used to store
+ or that is cast to REFTYPE (e.g., a char buffer used to store
a REFTYPE object). */
tree reftype = TREE_TYPE (TREE_OPERAND (ref, 0));
tree basetype = TREE_TYPE (base);
is a 'default' label.
Operand 1 is CASE_HIGH. If it is NULL_TREE, the label is a simple
(one-value) case label. If it is non-NULL_TREE, the case is a range.
- Operand 2 is CASE_LABEL, which is is the corresponding LABEL_DECL.
+ Operand 2 is CASE_LABEL, which has the corresponding LABEL_DECL.
Operand 3 is CASE_CHAIN. This operand is only used in tree-cfg.c to
speed up the lookup of case labels which use a particular edge in
the control flow graph. */