Fix up duplicated words mostly in comments, part 2
Checks
Commit Message
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?
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.
Jakub
Comments
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
>
>
@@ -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;
@@ -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. */
@@ -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
@@ -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,
@@ -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));
@@ -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;
@@ -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
@@ -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)
@@ -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)
@@ -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))
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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. */
@@ -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;
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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)
@@ -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.
@@ -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
@@ -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
@@ -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.