Message ID | ZhTqkE4LPhNRqy7w@tucnak |
---|---|
State | New |
Headers | show |
Series | Fix up duplicated words mostly in comments, part 2 | expand |
On Tue, 9 Apr 2024, Jakub Jelinek wrote: > Hi! > > Another patch from eyeballing > git grep -v 'long long\|optab optab\|template template\|double double' | grep ' \([a-zA-Z]\+\) \1 ' > output, this time in gcc/ subdirectory. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? OK. > 2024-04-09 Jakub Jelinek <jakub@redhat.com> > > gcc/ > * expr.cc (convert_mode_scalar): Fix duplicated words in comment; > into into -> it into. > * function.h (function::cond_uids): Fix duplicated words in comment; > same same -> same. > * config/riscv/riscv-vector-costs.cc > (costs::adjust_vect_cost_per_loop): Fix duplicated words in comment; > model model -> model. > * config/riscv/riscv-vector-builtins-shapes.cc (build_base): Fix > duplicated words in comment; for for -> for. > * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Fix > duplicated words in comment; more more -> more. > * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Fix > duplicated words in comment; be be -> be. > * tree-profile.cc (masking_vectors): Fix duplicated words in comment; > has has -> has, the the -> the. > * value-range.cc (irange::set_range_from_bitmask): Fix duplicated > words in comment; the the -> the. > * gcov.cc (add_condition_counts): Fix duplicated words in comment; > to to -> to. > * vr-values.cc (get_scev_info): Fix duplicated words in comment; > the the -> to the. > * tree-vrp.cc (fully_replaceable): Fix duplicated words in comment; > by by -> by. > * mode-switching.cc (single_succ_confluence_n): Fix duplicated words > in comment; the the -> the. > * tree-ssa-phiopt.cc (value_replacement): Fix duplicated words in > comment; can can -> we can. > * gimple-range-phi.cc (phi_analyzer::process_phi): Fix duplicated words > in comment; it it -> it is. > * tree-ssa-sccvn.cc (visit_phi): Fix duplicated words in comment; > to to -> to. > * rtl-ssa/accesses.h (use_info::next_debug_insn_use): Fix duplicated > words in comment; if if -> if. > * doc/options.texi (InverseMask): Fix duplicated words; and and -> and. > Change take to takes. > * doc/invoke.texi (fanalyzer-undo-inlining): Fix duplicated words; > be be -> be. > (-minline-memops-threshold): Likewise. > gcc/analyzer/ > * analyzer.opt (Wanalyzer-undefined-behavior-strtok): Fix duplicated > words; in in -> in. > * program-state.cc (sm_state_map::replay_call_summary): Fix duplicated > words in comment; to to -> to. > (program_state::replay_call_summary): Likewise. > * region-model.cc (region_model::replay_call_summary): Likewise. > gcc/c/ > * c-decl.cc (previous_tag): Fix duplicated words in comment; the the > -> the. > (diagnose_mismatched_decls): Fix duplicated words in comment; > about about -> about. > gcc/cp/ > * constexpr.cc (build_new_constexpr_heap_type): Fix duplicated words > in comment; is is -> is. > * cp-tree.def (CO_RETURN_EXPR): Fix duplicated words in comment; > for for -> for. > * parser.cc (fixup_blocks_walker): Fix duplicated words in comment; > is is -> is. > * semantics.cc (fixup_template_type): Fix duplicated words in comment; > for for -> for. > (finish_omp_for): Fix duplicated words in comment; the the -> the. > * pt.cc (more_specialized_fn): Fix duplicated words in comment; > think think -> think. > (type_targs_deducible_from): Fix duplicated words in comment; the the > -> the. > gcc/jit/ > * docs/topics/expressions.rst (Constructor expressions): Fix > duplicated words; have have -> have. > > --- gcc/expr.cc.jj 2024-04-03 09:59:39.824857094 +0200 > +++ gcc/expr.cc 2024-04-08 17:29:19.130369705 +0200 > @@ -392,7 +392,7 @@ convert_mode_scalar (rtx to, rtx from, i > BFmode -> SFmode -> HFmode conversion where SFmode > has superset of BFmode values. We don't need > to handle sNaNs by raising exception and turning > - into into qNaN though, as that can be done in the > + it into qNaN though, as that can be done in the > SFmode -> HFmode conversion too. */ > rtx temp = gen_reg_rtx (SFmode); > int save_flag_finite_math_only = flag_finite_math_only; > --- gcc/function.h.jj 2024-04-05 09:19:48.129047220 +0200 > +++ gcc/function.h 2024-04-08 17:28:26.920059518 +0200 > @@ -271,7 +271,7 @@ struct GTY(()) function { > htab_t GTY((skip)) value_histograms; > > /* Annotated gconds so that basic conditions in the same expression map to > - the same same uid. This is used for condition coverage. */ > + the same uid. This is used for condition coverage. */ > hash_map <gcond*, unsigned> *GTY((skip)) cond_uids; > > /* For function.cc. */ > --- gcc/config/riscv/riscv-vector-costs.cc.jj 2024-04-08 09:44:46.069803970 +0200 > +++ gcc/config/riscv/riscv-vector-costs.cc 2024-04-08 17:40:27.130577534 +0200 > @@ -1170,7 +1170,7 @@ costs::add_stmt_cost (int count, vect_co > > /* For some target specific vectorization cost which can't be handled per stmt, > we check the requisite conditions and adjust the vectorization cost > - accordingly if satisfied. One typical example is to model model and adjust > + accordingly if satisfied. One typical example is to model and adjust > loop_len cost for known_lt (NITERS, VF). */ > > void > --- gcc/config/riscv/riscv-vector-builtins-shapes.cc.jj 2024-04-08 14:10:10.108038819 +0200 > +++ gcc/config/riscv/riscv-vector-builtins-shapes.cc 2024-04-08 17:41:18.662900104 +0200 > @@ -102,7 +102,7 @@ build_all (function_builder &b, const fu > > #define BASE_NAME_MAX_LEN 16 > > -/* Base class for for build. */ > +/* Base class for build. */ > struct build_base : public function_shape > { > void build (function_builder &b, > --- gcc/config/riscv/riscv-avlprop.cc.jj 2024-03-01 14:56:42.359811210 +0100 > +++ gcc/config/riscv/riscv-avlprop.cc 2024-04-08 17:42:17.805122646 +0200 > @@ -458,7 +458,7 @@ pass_avlprop::execute (function *fn) > > /* TODO: We only do AVL propagation for VLMAX AVL with tail > agnostic policy since we have missed-LEN information partial > - autovectorization. We could add more more AVL propagation > + autovectorization. We could add more AVL propagation > for intrinsic codes in the future. */ > if (vlmax_ta_p (insn->rtl ())) > m_candidates.safe_push (std::make_pair (AVLPROP_VLMAX_TA, insn)); > --- gcc/config/aarch64/driver-aarch64.cc.jj 2024-01-03 12:01:17.677560404 +0100 > +++ gcc/config/aarch64/driver-aarch64.cc 2024-04-08 17:43:22.361274015 +0200 > @@ -452,7 +452,7 @@ host_detect_local_cpu (int argc, const c > if (tune) > return res; > > - /* Add any features that should be be present, but can't be verified using > + /* Add any features that should be present, but can't be verified using > the /proc/cpuinfo "Features" list. */ > extension_flags |= unchecked_extension_flags & default_flags; > > --- gcc/cp/constexpr.cc.jj 2024-04-08 09:44:46.079803832 +0200 > +++ gcc/cp/constexpr.cc 2024-04-08 17:39:05.910645224 +0200 > @@ -7224,7 +7224,7 @@ maybe_warn_about_constant_value (locatio > in bytes. If COOKIE_SIZE is NULL, return array type > ELT_TYPE[FULL_SIZE / sizeof(ELT_TYPE)], otherwise return > struct { size_t[COOKIE_SIZE/sizeof(size_t)]; ELT_TYPE[N]; } > - where N is is computed such that the size of the struct fits into FULL_SIZE. > + where N is computed such that the size of the struct fits into FULL_SIZE. > If ARG_SIZE is non-NULL, it is the first argument to the new operator. > It should be passed if ELT_TYPE is zero sized type in which case FULL_SIZE > will be also 0 and so it is not possible to determine the actual array > --- gcc/cp/cp-tree.def.jj 2024-01-03 12:01:23.063484949 +0100 > +++ gcc/cp/cp-tree.def 2024-04-08 17:38:34.433059015 +0200 > @@ -567,7 +567,7 @@ DEFTREECODE (CO_YIELD_EXPR, "co_yield", > /* The co_return expression is used to support coroutines. > > Op0 is the original expr, can be void (for use in diagnostics) > - Op1 is the promise return_xxxx call for for the expression given. */ > + Op1 is the promise return_xxxx call for the expression given. */ > > DEFTREECODE (CO_RETURN_EXPR, "co_return", tcc_statement, 2) > > --- gcc/cp/parser.cc.jj 2024-03-14 14:07:34.117426508 +0100 > +++ gcc/cp/parser.cc 2024-04-08 17:37:59.736515118 +0200 > @@ -45273,7 +45273,7 @@ substitute_in_tree (tree *context, tree > } > > /* Walker to patch up the BLOCK_NODE hierarchy after the above surgery. > - *DP is is the parent block. */ > + *DP is the parent block. */ > > static tree > fixup_blocks_walker (tree *tp, int *walk_subtrees, void *dp) > --- gcc/cp/semantics.cc.jj 2024-04-05 09:19:12.776537639 +0200 > +++ gcc/cp/semantics.cc 2024-04-08 17:35:36.386399546 +0200 > @@ -3895,7 +3895,7 @@ finish_template_decl (tree parms) > // typename pair<T, U>::first_type void f(T, U); > // > // Here, it is unlikely that there is a partial specialization of > -// pair constrained for for Integral and Floating_point arguments. > +// pair constrained for Integral and Floating_point arguments. > // > // The general rule is: if a constrained specialization with matching > // constraints is found return that type. Also note that if TYPE is not a > @@ -10692,7 +10692,7 @@ finish_omp_for (location_t locus, enum t > initializer is a binding of the iteration variable, save > that location. Any of these locations in the initialization clause > for the current nested loop are better than using the argument locus, > - that points to the "for" of the the outermost loop in the nest. */ > + that points to the "for" of the outermost loop in the nest. */ > if (init && EXPR_HAS_LOCATION (init)) > elocus = EXPR_LOCATION (init); > else if (decl && INDIRECT_REF_P (decl) && EXPR_HAS_LOCATION (decl)) > --- gcc/cp/pt.cc.jj 2024-04-05 09:19:48.049048329 +0200 > +++ gcc/cp/pt.cc 2024-04-08 17:37:22.021010912 +0200 > @@ -25503,7 +25503,7 @@ more_specialized_fn (tree pat1, tree pat > if (DECL_STATIC_FUNCTION_P (decl1) || DECL_STATIC_FUNCTION_P (decl2)) > { > /* Note C++20 DR2445 extended the above to static member functions, but > - I think think the old G++ behavior of just skipping the object > + I think the old G++ behavior of just skipping the object > parameter when comparing to a static member function was better, so > let's stick with that for now. This is CWG2834. --jason 2023-12 */ > if (DECL_OBJECT_MEMBER_FUNCTION_P (decl1)) > @@ -30564,7 +30564,7 @@ type_targs_deducible_from (tree tmpl, tr > > /* Maybe add in default template args. This seems like a flaw in the > specification in terms of partial specialization, since it says the > - partial specialization has the the template parameter list of A, but a > + partial specialization has the template parameter list of A, but a > partial specialization can't have default targs. */ > targs = coerce_template_parms (tparms, targs, tmpl, tf_none); > if (targs == error_mark_node) > --- gcc/tree-profile.cc.jj 2024-04-05 09:19:48.320044570 +0200 > +++ gcc/tree-profile.cc 2024-04-08 17:22:42.131614922 +0200 > @@ -390,7 +390,7 @@ condition_uid (struct function *fn, basi > |/ \ > T F > > - T has has multiple incoming edges and is the outcome of a short circuit, > + T has multiple incoming edges and is the outcome of a short circuit, > with top = a, bot = b. The top node (a) is masked when the edge (b, T) is > taken. > > @@ -437,7 +437,7 @@ condition_uid (struct function *fn, basi > The masking table is represented as two bitfields per term in the expression > with the index corresponding to the term in the Boolean expression. > a || b && c becomes the term vector [a b c] and the masking table [a[0] > - a[1] b[0] ...]. The kth bit of a masking vector is set if the the kth term > + a[1] b[0] ...]. The kth bit of a masking vector is set if the kth term > is masked by taking the edge. > > The out masks are in uint64_t (the practical maximum for gcov_type_node for > --- gcc/value-range.cc.jj 2024-01-03 11:51:34.145694911 +0100 > +++ gcc/value-range.cc 2024-04-08 17:20:07.948652026 +0200 > @@ -1886,7 +1886,7 @@ irange_bitmask::adjust_range (irange &r) > } > } > > -// If the the mask can be trivially converted to a range, do so and > +// If the mask can be trivially converted to a range, do so and > // return TRUE. > > bool > --- gcc/gcov.cc.jj 2024-04-05 09:19:48.207046138 +0200 > +++ gcc/gcov.cc 2024-04-08 17:27:49.927548264 +0200 > @@ -2567,7 +2567,7 @@ add_branch_counts (coverage_info *covera > } > } > > -/* Increment totals in COVERAGE according to to block BLOCK. */ > +/* Increment totals in COVERAGE according to block BLOCK. */ > > static void > add_condition_counts (coverage_info *coverage, const block_info *block) > --- gcc/vr-values.cc.jj 2024-01-03 11:51:28.091778933 +0100 > +++ gcc/vr-values.cc 2024-04-08 17:19:12.915379133 +0200 > @@ -167,7 +167,7 @@ check_for_binary_op_overflow (range_quer > return true; > } > > -/* Set INIT, STEP, and DIRECTION the the corresponding values of NAME > +/* Set INIT, STEP, and DIRECTION to the corresponding values of NAME > within LOOP, and return TRUE. Otherwise return FALSE, and set R to > the conservative range of NAME within the loop. */ > > --- gcc/tree-vrp.cc.jj 2024-02-22 10:10:20.315009640 +0100 > +++ gcc/tree-vrp.cc 2024-04-08 17:20:32.430328561 +0200 > @@ -131,7 +131,7 @@ remove_unreachable::maybe_register (gimp > m_list.safe_push (std::make_pair (e->src->index, e->dest->index)); > } > > -// Return true if all uses of NAME are dominated by by block BB. 1 use > +// Return true if all uses of NAME are dominated by block BB. 1 use > // is allowed in block BB, This is one we hope to remove. > // ie > // _2 = _1 & 7; > --- gcc/analyzer/analyzer.opt.jj 2024-01-03 12:06:50.366899521 +0100 > +++ gcc/analyzer/analyzer.opt 2024-04-08 17:46:00.215198927 +0200 > @@ -224,7 +224,7 @@ Warn about code paths in which an unsani > > Wanalyzer-undefined-behavior-strtok > Common Var(warn_analyzer_undefined_behavior_strtok) Init(1) Warning > -Warn about code paths in in which a call is made to strtok with undefined behavior. > +Warn about code paths in which a call is made to strtok with undefined behavior. > > Wanalyzer-use-after-free > Common Var(warn_analyzer_use_after_free) Init(1) Warning > --- gcc/analyzer/program-state.cc.jj 2024-03-01 09:58:18.883326297 +0100 > +++ gcc/analyzer/program-state.cc 2024-04-08 17:45:25.490655402 +0200 > @@ -877,7 +877,7 @@ program_state::program_state (const extr > } > } > > -/* Attempt to to use R to replay SUMMARY into this object. > +/* Attempt to use R to replay SUMMARY into this object. > Return true if it is possible. */ > > bool > @@ -1625,7 +1625,7 @@ program_state::detect_leaks (const progr > dest_state.m_region_model->unset_dynamic_extents (reg); > } > > -/* Attempt to to use R to replay SUMMARY into this object. > +/* Attempt to use R to replay SUMMARY into this object. > Return true if it is possible. */ > > bool > --- gcc/analyzer/region-model.cc.jj 2024-04-03 09:58:33.278774319 +0200 > +++ gcc/analyzer/region-model.cc 2024-04-08 17:44:57.719020476 +0200 > @@ -5623,7 +5623,7 @@ region_model::update_for_return_superedg > update_for_return_gcall (call_stmt, ctxt); > } > > -/* Attempt to to use R to replay SUMMARY into this object. > +/* Attempt to use R to replay SUMMARY into this object. > Return true if it is possible. */ > > bool > --- gcc/mode-switching.cc.jj 2024-03-11 09:42:04.577588493 +0100 > +++ gcc/mode-switching.cc 2024-04-08 17:24:16.266371198 +0200 > @@ -585,7 +585,7 @@ forward_transfer (int bb_index) > return true; > } > > -/* A backwards confluence function. Update the the bb_info single_succ > +/* A backwards confluence function. Update the bb_info single_succ > field for E's source block, based on changes to E's destination block. > At the end of the dataflow problem, single_succ is the single mode > that all successors require (directly or indirectly), or no_mode > --- gcc/tree-ssa-phiopt.cc.jj 2024-01-03 11:51:22.589855295 +0100 > +++ gcc/tree-ssa-phiopt.cc 2024-04-08 17:22:04.885107031 +0200 > @@ -1251,7 +1251,7 @@ value_replacement (basic_block cond_bb, > _3 = i_6 != 0; > Here, carg is 4, oarg is 6, crhs is 0, and because > (4 != 0) == (6 != 0), we don't care if i_6 is 4 or 6, both > - have the same outcome. So, can can optimize this to: > + have the same outcome. So, we can optimize this to: > _3 = i_2(D) != 0; > If the single imm use of phi result >, >=, < or <=, similarly > we can check if both carg and oarg compare the same against > --- gcc/gimple-range-phi.cc.jj 2024-01-18 14:37:05.299221701 +0100 > +++ gcc/gimple-range-phi.cc 2024-04-08 17:26:41.343454414 +0200 > @@ -325,7 +325,7 @@ phi_analyzer::operator[] (tree name) > return m_tab[v]; > } > > -// Process phi node PHI to see if it it part of a group. > +// Process phi node PHI to see if it is part of a group. > > void > phi_analyzer::process_phi (gphi *phi) > --- gcc/c/c-decl.cc.jj 2024-04-05 14:55:28.460337133 +0200 > +++ gcc/c/c-decl.cc 2024-04-08 17:44:23.347472313 +0200 > @@ -2069,7 +2069,7 @@ locate_old_decl (tree decl) > > > /* Helper function. For a tagged type, it finds the declaration > - for a visible tag declared in the the same scope if such a > + for a visible tag declared in the same scope if such a > declaration exists. */ > static tree > previous_tag (tree type) > @@ -2316,7 +2316,7 @@ diagnose_mismatched_decls (tree newdecl, > (C23 6.7.2.2/5), but may pose portability problems. */ > else if (enum_and_int_p > && TREE_CODE (newdecl) != TYPE_DECL > - /* Don't warn about about acc_on_device built-in redeclaration, > + /* Don't warn about acc_on_device built-in redeclaration, > the built-in is declared with int rather than enum because > the enum isn't intrinsic. */ > && !(TREE_CODE (olddecl) == FUNCTION_DECL > --- gcc/tree-ssa-sccvn.cc.jj 2024-03-07 10:01:05.042180535 +0100 > +++ gcc/tree-ssa-sccvn.cc 2024-04-08 17:21:09.216842533 +0200 > @@ -5979,7 +5979,7 @@ visit_phi (gimple *phi, bool *inserted, > if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (PHI_RESULT (phi))) > return set_ssa_val_to (PHI_RESULT (phi), PHI_RESULT (phi)); > > - /* We track whether a PHI was CSEd to to avoid excessive iterations > + /* We track whether a PHI was CSEd to avoid excessive iterations > that would be necessary only because the PHI changed arguments > but not value. */ > if (!inserted) > --- gcc/rtl-ssa/accesses.h.jj 2024-01-24 13:11:21.212467024 +0100 > +++ gcc/rtl-ssa/accesses.h 2024-04-08 17:23:39.681854561 +0200 > @@ -358,7 +358,7 @@ public: > use_info *next_any_insn_use () const; > > // Return the next use by a debug instruction, or null if none. > - // This is only valid if if is_in_debug_insn (). > + // This is only valid if is_in_debug_insn (). > use_info *next_debug_insn_use () const; > > // Return the previous use by a phi node in the list, or null if none. > --- gcc/jit/docs/topics/expressions.rst.jj 2024-02-02 22:13:29.307363148 +0100 > +++ gcc/jit/docs/topics/expressions.rst 2024-04-08 17:25:30.396391778 +0200 > @@ -238,7 +238,7 @@ Constructor expressions > The fields in ``fields`` need to be the same objects that were used > to create the struct. > > - Each value has to have have the same unqualified type as the field > + Each value has to have the same unqualified type as the field > it is applied to. > > A NULL value element in ``values`` is a shorthand for zero initialization > --- gcc/doc/options.texi.jj 2024-01-05 08:35:13.505829960 +0100 > +++ gcc/doc/options.texi 2024-04-08 17:32:31.513829809 +0200 > @@ -422,9 +422,9 @@ The option is the inverse of another opt > the options-processing script will declare @code{TARGET_@var{thisname}}, > @code{TARGET_@var{name}_P} and @code{TARGET_@var{name}_OPTS_P} macros: > @code{TARGET_@var{thisname}} is 1 when the option is active and 0 otherwise, > -@code{TARGET_@var{name}_P} is similar to @code{TARGET_@var{name}} but take an > -argument as @samp{target_flags}, and and @code{TARGET_@var{name}_OPTS_P} also > -similar to @code{TARGET_@var{name}} but take an argument as @code{gcc_options}. > +@code{TARGET_@var{name}_P} is similar to @code{TARGET_@var{name}} but takes an > +argument as @samp{target_flags}, and @code{TARGET_@var{name}_OPTS_P} is also > +similar to @code{TARGET_@var{name}} but takes an argument as @code{gcc_options}. > > @item Enum(@var{name}) > The option's argument is a string from the set of strings associated > --- gcc/doc/invoke.texi.jj 2024-04-08 09:44:46.130803133 +0200 > +++ gcc/doc/invoke.texi 2024-04-08 17:33:25.245123475 +0200 > @@ -11709,7 +11709,7 @@ By default the analyzer attempts to reco > frames, and to emit events showing the inlined calls. > > With @option{-fno-analyzer-undo-inlining} this attempt to reconstruct > -the original frame information can be be disabled, which may be of help > +the original frame information can be disabled, which may be of help > when debugging issues in the analyzer. > > @item -fanalyzer-verbose-edges > @@ -25750,7 +25750,7 @@ Outputs pseudo-c assembly dialect. > @item -minline-memops-threshold=@var{bytes} > Specifies a size threshold in bytes at or below which memmove, memcpy > and memset shall always be expanded inline. Operations dealing with > -sizes larger than this threshold would have to be be implemented using > +sizes larger than this threshold would have to be implemented using > a library call instead of being expanded inline, but since BPF doesn't > allow libcalls, exceeding this threshold results in a compile-time > error. The default is @samp{1024} bytes. > > Jakub > >
--- gcc/expr.cc.jj 2024-04-03 09:59:39.824857094 +0200 +++ gcc/expr.cc 2024-04-08 17:29:19.130369705 +0200 @@ -392,7 +392,7 @@ convert_mode_scalar (rtx to, rtx from, i BFmode -> SFmode -> HFmode conversion where SFmode has superset of BFmode values. We don't need to handle sNaNs by raising exception and turning - into into qNaN though, as that can be done in the + it into qNaN though, as that can be done in the SFmode -> HFmode conversion too. */ rtx temp = gen_reg_rtx (SFmode); int save_flag_finite_math_only = flag_finite_math_only; --- gcc/function.h.jj 2024-04-05 09:19:48.129047220 +0200 +++ gcc/function.h 2024-04-08 17:28:26.920059518 +0200 @@ -271,7 +271,7 @@ struct GTY(()) function { htab_t GTY((skip)) value_histograms; /* Annotated gconds so that basic conditions in the same expression map to - the same same uid. This is used for condition coverage. */ + the same uid. This is used for condition coverage. */ hash_map <gcond*, unsigned> *GTY((skip)) cond_uids; /* For function.cc. */ --- gcc/config/riscv/riscv-vector-costs.cc.jj 2024-04-08 09:44:46.069803970 +0200 +++ gcc/config/riscv/riscv-vector-costs.cc 2024-04-08 17:40:27.130577534 +0200 @@ -1170,7 +1170,7 @@ costs::add_stmt_cost (int count, vect_co /* For some target specific vectorization cost which can't be handled per stmt, we check the requisite conditions and adjust the vectorization cost - accordingly if satisfied. One typical example is to model model and adjust + accordingly if satisfied. One typical example is to model and adjust loop_len cost for known_lt (NITERS, VF). */ void --- gcc/config/riscv/riscv-vector-builtins-shapes.cc.jj 2024-04-08 14:10:10.108038819 +0200 +++ gcc/config/riscv/riscv-vector-builtins-shapes.cc 2024-04-08 17:41:18.662900104 +0200 @@ -102,7 +102,7 @@ build_all (function_builder &b, const fu #define BASE_NAME_MAX_LEN 16 -/* Base class for for build. */ +/* Base class for build. */ struct build_base : public function_shape { void build (function_builder &b, --- gcc/config/riscv/riscv-avlprop.cc.jj 2024-03-01 14:56:42.359811210 +0100 +++ gcc/config/riscv/riscv-avlprop.cc 2024-04-08 17:42:17.805122646 +0200 @@ -458,7 +458,7 @@ pass_avlprop::execute (function *fn) /* TODO: We only do AVL propagation for VLMAX AVL with tail agnostic policy since we have missed-LEN information partial - autovectorization. We could add more more AVL propagation + autovectorization. We could add more AVL propagation for intrinsic codes in the future. */ if (vlmax_ta_p (insn->rtl ())) m_candidates.safe_push (std::make_pair (AVLPROP_VLMAX_TA, insn)); --- gcc/config/aarch64/driver-aarch64.cc.jj 2024-01-03 12:01:17.677560404 +0100 +++ gcc/config/aarch64/driver-aarch64.cc 2024-04-08 17:43:22.361274015 +0200 @@ -452,7 +452,7 @@ host_detect_local_cpu (int argc, const c if (tune) return res; - /* Add any features that should be be present, but can't be verified using + /* Add any features that should be present, but can't be verified using the /proc/cpuinfo "Features" list. */ extension_flags |= unchecked_extension_flags & default_flags; --- gcc/cp/constexpr.cc.jj 2024-04-08 09:44:46.079803832 +0200 +++ gcc/cp/constexpr.cc 2024-04-08 17:39:05.910645224 +0200 @@ -7224,7 +7224,7 @@ maybe_warn_about_constant_value (locatio in bytes. If COOKIE_SIZE is NULL, return array type ELT_TYPE[FULL_SIZE / sizeof(ELT_TYPE)], otherwise return struct { size_t[COOKIE_SIZE/sizeof(size_t)]; ELT_TYPE[N]; } - where N is is computed such that the size of the struct fits into FULL_SIZE. + where N is computed such that the size of the struct fits into FULL_SIZE. If ARG_SIZE is non-NULL, it is the first argument to the new operator. It should be passed if ELT_TYPE is zero sized type in which case FULL_SIZE will be also 0 and so it is not possible to determine the actual array --- gcc/cp/cp-tree.def.jj 2024-01-03 12:01:23.063484949 +0100 +++ gcc/cp/cp-tree.def 2024-04-08 17:38:34.433059015 +0200 @@ -567,7 +567,7 @@ DEFTREECODE (CO_YIELD_EXPR, "co_yield", /* The co_return expression is used to support coroutines. Op0 is the original expr, can be void (for use in diagnostics) - Op1 is the promise return_xxxx call for for the expression given. */ + Op1 is the promise return_xxxx call for the expression given. */ DEFTREECODE (CO_RETURN_EXPR, "co_return", tcc_statement, 2) --- gcc/cp/parser.cc.jj 2024-03-14 14:07:34.117426508 +0100 +++ gcc/cp/parser.cc 2024-04-08 17:37:59.736515118 +0200 @@ -45273,7 +45273,7 @@ substitute_in_tree (tree *context, tree } /* Walker to patch up the BLOCK_NODE hierarchy after the above surgery. - *DP is is the parent block. */ + *DP is the parent block. */ static tree fixup_blocks_walker (tree *tp, int *walk_subtrees, void *dp) --- gcc/cp/semantics.cc.jj 2024-04-05 09:19:12.776537639 +0200 +++ gcc/cp/semantics.cc 2024-04-08 17:35:36.386399546 +0200 @@ -3895,7 +3895,7 @@ finish_template_decl (tree parms) // typename pair<T, U>::first_type void f(T, U); // // Here, it is unlikely that there is a partial specialization of -// pair constrained for for Integral and Floating_point arguments. +// pair constrained for Integral and Floating_point arguments. // // The general rule is: if a constrained specialization with matching // constraints is found return that type. Also note that if TYPE is not a @@ -10692,7 +10692,7 @@ finish_omp_for (location_t locus, enum t initializer is a binding of the iteration variable, save that location. Any of these locations in the initialization clause for the current nested loop are better than using the argument locus, - that points to the "for" of the the outermost loop in the nest. */ + that points to the "for" of the outermost loop in the nest. */ if (init && EXPR_HAS_LOCATION (init)) elocus = EXPR_LOCATION (init); else if (decl && INDIRECT_REF_P (decl) && EXPR_HAS_LOCATION (decl)) --- gcc/cp/pt.cc.jj 2024-04-05 09:19:48.049048329 +0200 +++ gcc/cp/pt.cc 2024-04-08 17:37:22.021010912 +0200 @@ -25503,7 +25503,7 @@ more_specialized_fn (tree pat1, tree pat if (DECL_STATIC_FUNCTION_P (decl1) || DECL_STATIC_FUNCTION_P (decl2)) { /* Note C++20 DR2445 extended the above to static member functions, but - I think think the old G++ behavior of just skipping the object + I think the old G++ behavior of just skipping the object parameter when comparing to a static member function was better, so let's stick with that for now. This is CWG2834. --jason 2023-12 */ if (DECL_OBJECT_MEMBER_FUNCTION_P (decl1)) @@ -30564,7 +30564,7 @@ type_targs_deducible_from (tree tmpl, tr /* Maybe add in default template args. This seems like a flaw in the specification in terms of partial specialization, since it says the - partial specialization has the the template parameter list of A, but a + partial specialization has the template parameter list of A, but a partial specialization can't have default targs. */ targs = coerce_template_parms (tparms, targs, tmpl, tf_none); if (targs == error_mark_node) --- gcc/tree-profile.cc.jj 2024-04-05 09:19:48.320044570 +0200 +++ gcc/tree-profile.cc 2024-04-08 17:22:42.131614922 +0200 @@ -390,7 +390,7 @@ condition_uid (struct function *fn, basi |/ \ T F - T has has multiple incoming edges and is the outcome of a short circuit, + T has multiple incoming edges and is the outcome of a short circuit, with top = a, bot = b. The top node (a) is masked when the edge (b, T) is taken. @@ -437,7 +437,7 @@ condition_uid (struct function *fn, basi The masking table is represented as two bitfields per term in the expression with the index corresponding to the term in the Boolean expression. a || b && c becomes the term vector [a b c] and the masking table [a[0] - a[1] b[0] ...]. The kth bit of a masking vector is set if the the kth term + a[1] b[0] ...]. The kth bit of a masking vector is set if the kth term is masked by taking the edge. The out masks are in uint64_t (the practical maximum for gcov_type_node for --- gcc/value-range.cc.jj 2024-01-03 11:51:34.145694911 +0100 +++ gcc/value-range.cc 2024-04-08 17:20:07.948652026 +0200 @@ -1886,7 +1886,7 @@ irange_bitmask::adjust_range (irange &r) } } -// If the the mask can be trivially converted to a range, do so and +// If the mask can be trivially converted to a range, do so and // return TRUE. bool --- gcc/gcov.cc.jj 2024-04-05 09:19:48.207046138 +0200 +++ gcc/gcov.cc 2024-04-08 17:27:49.927548264 +0200 @@ -2567,7 +2567,7 @@ add_branch_counts (coverage_info *covera } } -/* Increment totals in COVERAGE according to to block BLOCK. */ +/* Increment totals in COVERAGE according to block BLOCK. */ static void add_condition_counts (coverage_info *coverage, const block_info *block) --- gcc/vr-values.cc.jj 2024-01-03 11:51:28.091778933 +0100 +++ gcc/vr-values.cc 2024-04-08 17:19:12.915379133 +0200 @@ -167,7 +167,7 @@ check_for_binary_op_overflow (range_quer return true; } -/* Set INIT, STEP, and DIRECTION the the corresponding values of NAME +/* Set INIT, STEP, and DIRECTION to the corresponding values of NAME within LOOP, and return TRUE. Otherwise return FALSE, and set R to the conservative range of NAME within the loop. */ --- gcc/tree-vrp.cc.jj 2024-02-22 10:10:20.315009640 +0100 +++ gcc/tree-vrp.cc 2024-04-08 17:20:32.430328561 +0200 @@ -131,7 +131,7 @@ remove_unreachable::maybe_register (gimp m_list.safe_push (std::make_pair (e->src->index, e->dest->index)); } -// Return true if all uses of NAME are dominated by by block BB. 1 use +// Return true if all uses of NAME are dominated by block BB. 1 use // is allowed in block BB, This is one we hope to remove. // ie // _2 = _1 & 7; --- gcc/analyzer/analyzer.opt.jj 2024-01-03 12:06:50.366899521 +0100 +++ gcc/analyzer/analyzer.opt 2024-04-08 17:46:00.215198927 +0200 @@ -224,7 +224,7 @@ Warn about code paths in which an unsani Wanalyzer-undefined-behavior-strtok Common Var(warn_analyzer_undefined_behavior_strtok) Init(1) Warning -Warn about code paths in in which a call is made to strtok with undefined behavior. +Warn about code paths in which a call is made to strtok with undefined behavior. Wanalyzer-use-after-free Common Var(warn_analyzer_use_after_free) Init(1) Warning --- gcc/analyzer/program-state.cc.jj 2024-03-01 09:58:18.883326297 +0100 +++ gcc/analyzer/program-state.cc 2024-04-08 17:45:25.490655402 +0200 @@ -877,7 +877,7 @@ program_state::program_state (const extr } } -/* Attempt to to use R to replay SUMMARY into this object. +/* Attempt to use R to replay SUMMARY into this object. Return true if it is possible. */ bool @@ -1625,7 +1625,7 @@ program_state::detect_leaks (const progr dest_state.m_region_model->unset_dynamic_extents (reg); } -/* Attempt to to use R to replay SUMMARY into this object. +/* Attempt to use R to replay SUMMARY into this object. Return true if it is possible. */ bool --- gcc/analyzer/region-model.cc.jj 2024-04-03 09:58:33.278774319 +0200 +++ gcc/analyzer/region-model.cc 2024-04-08 17:44:57.719020476 +0200 @@ -5623,7 +5623,7 @@ region_model::update_for_return_superedg update_for_return_gcall (call_stmt, ctxt); } -/* Attempt to to use R to replay SUMMARY into this object. +/* Attempt to use R to replay SUMMARY into this object. Return true if it is possible. */ bool --- gcc/mode-switching.cc.jj 2024-03-11 09:42:04.577588493 +0100 +++ gcc/mode-switching.cc 2024-04-08 17:24:16.266371198 +0200 @@ -585,7 +585,7 @@ forward_transfer (int bb_index) return true; } -/* A backwards confluence function. Update the the bb_info single_succ +/* A backwards confluence function. Update the bb_info single_succ field for E's source block, based on changes to E's destination block. At the end of the dataflow problem, single_succ is the single mode that all successors require (directly or indirectly), or no_mode --- gcc/tree-ssa-phiopt.cc.jj 2024-01-03 11:51:22.589855295 +0100 +++ gcc/tree-ssa-phiopt.cc 2024-04-08 17:22:04.885107031 +0200 @@ -1251,7 +1251,7 @@ value_replacement (basic_block cond_bb, _3 = i_6 != 0; Here, carg is 4, oarg is 6, crhs is 0, and because (4 != 0) == (6 != 0), we don't care if i_6 is 4 or 6, both - have the same outcome. So, can can optimize this to: + have the same outcome. So, we can optimize this to: _3 = i_2(D) != 0; If the single imm use of phi result >, >=, < or <=, similarly we can check if both carg and oarg compare the same against --- gcc/gimple-range-phi.cc.jj 2024-01-18 14:37:05.299221701 +0100 +++ gcc/gimple-range-phi.cc 2024-04-08 17:26:41.343454414 +0200 @@ -325,7 +325,7 @@ phi_analyzer::operator[] (tree name) return m_tab[v]; } -// Process phi node PHI to see if it it part of a group. +// Process phi node PHI to see if it is part of a group. void phi_analyzer::process_phi (gphi *phi) --- gcc/c/c-decl.cc.jj 2024-04-05 14:55:28.460337133 +0200 +++ gcc/c/c-decl.cc 2024-04-08 17:44:23.347472313 +0200 @@ -2069,7 +2069,7 @@ locate_old_decl (tree decl) /* Helper function. For a tagged type, it finds the declaration - for a visible tag declared in the the same scope if such a + for a visible tag declared in the same scope if such a declaration exists. */ static tree previous_tag (tree type) @@ -2316,7 +2316,7 @@ diagnose_mismatched_decls (tree newdecl, (C23 6.7.2.2/5), but may pose portability problems. */ else if (enum_and_int_p && TREE_CODE (newdecl) != TYPE_DECL - /* Don't warn about about acc_on_device built-in redeclaration, + /* Don't warn about acc_on_device built-in redeclaration, the built-in is declared with int rather than enum because the enum isn't intrinsic. */ && !(TREE_CODE (olddecl) == FUNCTION_DECL --- gcc/tree-ssa-sccvn.cc.jj 2024-03-07 10:01:05.042180535 +0100 +++ gcc/tree-ssa-sccvn.cc 2024-04-08 17:21:09.216842533 +0200 @@ -5979,7 +5979,7 @@ visit_phi (gimple *phi, bool *inserted, if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (PHI_RESULT (phi))) return set_ssa_val_to (PHI_RESULT (phi), PHI_RESULT (phi)); - /* We track whether a PHI was CSEd to to avoid excessive iterations + /* We track whether a PHI was CSEd to avoid excessive iterations that would be necessary only because the PHI changed arguments but not value. */ if (!inserted) --- gcc/rtl-ssa/accesses.h.jj 2024-01-24 13:11:21.212467024 +0100 +++ gcc/rtl-ssa/accesses.h 2024-04-08 17:23:39.681854561 +0200 @@ -358,7 +358,7 @@ public: use_info *next_any_insn_use () const; // Return the next use by a debug instruction, or null if none. - // This is only valid if if is_in_debug_insn (). + // This is only valid if is_in_debug_insn (). use_info *next_debug_insn_use () const; // Return the previous use by a phi node in the list, or null if none. --- gcc/jit/docs/topics/expressions.rst.jj 2024-02-02 22:13:29.307363148 +0100 +++ gcc/jit/docs/topics/expressions.rst 2024-04-08 17:25:30.396391778 +0200 @@ -238,7 +238,7 @@ Constructor expressions The fields in ``fields`` need to be the same objects that were used to create the struct. - Each value has to have have the same unqualified type as the field + Each value has to have the same unqualified type as the field it is applied to. A NULL value element in ``values`` is a shorthand for zero initialization --- gcc/doc/options.texi.jj 2024-01-05 08:35:13.505829960 +0100 +++ gcc/doc/options.texi 2024-04-08 17:32:31.513829809 +0200 @@ -422,9 +422,9 @@ The option is the inverse of another opt the options-processing script will declare @code{TARGET_@var{thisname}}, @code{TARGET_@var{name}_P} and @code{TARGET_@var{name}_OPTS_P} macros: @code{TARGET_@var{thisname}} is 1 when the option is active and 0 otherwise, -@code{TARGET_@var{name}_P} is similar to @code{TARGET_@var{name}} but take an -argument as @samp{target_flags}, and and @code{TARGET_@var{name}_OPTS_P} also -similar to @code{TARGET_@var{name}} but take an argument as @code{gcc_options}. +@code{TARGET_@var{name}_P} is similar to @code{TARGET_@var{name}} but takes an +argument as @samp{target_flags}, and @code{TARGET_@var{name}_OPTS_P} is also +similar to @code{TARGET_@var{name}} but takes an argument as @code{gcc_options}. @item Enum(@var{name}) The option's argument is a string from the set of strings associated --- gcc/doc/invoke.texi.jj 2024-04-08 09:44:46.130803133 +0200 +++ gcc/doc/invoke.texi 2024-04-08 17:33:25.245123475 +0200 @@ -11709,7 +11709,7 @@ By default the analyzer attempts to reco frames, and to emit events showing the inlined calls. With @option{-fno-analyzer-undo-inlining} this attempt to reconstruct -the original frame information can be be disabled, which may be of help +the original frame information can be disabled, which may be of help when debugging issues in the analyzer. @item -fanalyzer-verbose-edges @@ -25750,7 +25750,7 @@ Outputs pseudo-c assembly dialect. @item -minline-memops-threshold=@var{bytes} Specifies a size threshold in bytes at or below which memmove, memcpy and memset shall always be expanded inline. Operations dealing with -sizes larger than this threshold would have to be be implemented using +sizes larger than this threshold would have to be implemented using a library call instead of being expanded inline, but since BPF doesn't allow libcalls, exceeding this threshold results in a compile-time error. The default is @samp{1024} bytes.