Author: Fangrui Song
Date: 2023-09-01T21:32:24-07:00
New Revision: 678e3ee12351e525fa9d94e7ff68ba7c1a8ca657

URL: 
https://github.com/llvm/llvm-project/commit/678e3ee12351e525fa9d94e7ff68ba7c1a8ca657
DIFF: 
https://github.com/llvm/llvm-project/commit/678e3ee12351e525fa9d94e7ff68ba7c1a8ca657.diff

LOG: [lldb] Fix duplicate word typos; NFC

Those fixes were taken from https://reviews.llvm.org/D137338

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
    
clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
    compiler-rt/include/sanitizer/dfsan_interface.h
    compiler-rt/lib/builtins/arm/udivsi3.S
    compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
    compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    libc/src/__support/FPUtil/generic/FMA.h
    libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    libc/src/stdio/printf_core/parser.h
    libc/src/stdio/scanf_core/parser.h
    libc/test/src/math/RoundToIntegerTest.h
    lldb/include/lldb/API/SBTrace.h
    lldb/include/lldb/Core/Module.h
    lldb/include/lldb/Expression/LLVMUserExpression.h
    lldb/include/lldb/Interpreter/OptionValueProperties.h
    lldb/include/lldb/Symbol/ObjectContainer.h
    lldb/include/lldb/Target/Process.h
    lldb/include/lldb/Target/TargetList.h
    lldb/include/lldb/Target/Trace.h
    lldb/include/lldb/Utility/RangeMap.h
    lldb/source/Breakpoint/Breakpoint.cpp
    lldb/source/Breakpoint/BreakpointLocation.cpp
    lldb/source/Breakpoint/BreakpointSite.cpp
    lldb/source/Breakpoint/Watchpoint.cpp
    lldb/source/Commands/CommandObjectMemory.cpp
    lldb/source/Core/DataFileCache.cpp
    lldb/source/Core/ModuleList.cpp
    lldb/source/Host/macosx/objcxx/Host.mm
    lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
    lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
    lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
    lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
    lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
    lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
    lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
    lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    lldb/source/Plugins/Process/Linux/Perf.cpp
    lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h
    lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
    lldb/source/Symbol/LineTable.cpp
    lldb/source/Symbol/Symtab.cpp
    lldb/source/Target/RegisterContextUnwind.cpp
    lldb/source/Target/Target.cpp
    lldb/source/Utility/Args.cpp
    lldb/tools/debugserver/source/MacOSX/MachTask.mm
    lldb/tools/lldb-vscode/JSONUtils.cpp
    lldb/tools/lldb-vscode/lldb-vscode.cpp
    lldb/unittests/Interpreter/TestCompletion.cpp
    lldb/unittests/Process/gdb-remote/PortMapTest.cpp
    llvm/utils/vscode/llvm/language-configuration-tablegen.json
    openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
    openmp/runtime/src/kmp_affinity.cpp
    openmp/runtime/src/kmp_itt.inl
    openmp/runtime/src/kmp_lock.cpp
    openmp/runtime/src/kmp_settings.cpp
    polly/include/polly/ScopInfo.h
    polly/lib/Transform/MatmulOptimizer.cpp
    third-party/benchmark/include/benchmark/benchmark.h
    third-party/benchmark/test/complexity_test.cc

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp 
b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
index fa000e21b281ce..8aecd3ba27b2e3 100644
--- a/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
@@ -93,7 +93,7 @@ void MultipleInheritanceCheck::registerMatchers(MatchFinder 
*Finder) {
 
 void MultipleInheritanceCheck::check(const MatchFinder::MatchResult &Result) {
   if (const auto *D = Result.Nodes.getNodeAs<CXXRecordDecl>("decl")) {
-    // Check against map to see if if the class inherits from multiple
+    // Check against map to see if the class inherits from multiple
     // concrete classes
     unsigned NumConcrete = 0;
     for (const auto &I : D->bases()) {

diff  --git a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp 
b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
index a402c544ed0364..19773f3b07fe55 100644
--- a/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
+++ b/clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
@@ -601,7 +601,7 @@ void PPCallbacksTracker::appendArgument(const char *Name,
   llvm::raw_string_ostream SS(Str);
   SS << "[";
 
-  // Each argument is is a series of contiguous Tokens, terminated by a eof.
+  // Each argument is a series of contiguous Tokens, terminated by a eof.
   // Go through each argument printing tokens until we reach eof.
   for (unsigned I = 0; I < Value->getNumMacroArguments(); ++I) {
     const Token *Current = Value->getUnexpArgument(I);

diff  --git 
a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
index 0f0cfd944f3f58..55af2d1bbd3481 100644
--- 
a/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-inaccessible-ctors.cpp
@@ -62,7 +62,7 @@ void f() {
   // "new NoCopyMoveCtor{}" is processed 
diff erently in C++14/17 and C++20:
   //   * In C++14/17, it is recognized as aggregate initialization,
   //     no fixes will be generated although the generated fix is compilable.
-  //   * In C++20, it is is recognized as default constructor initialization
+  //   * In C++20, it is recognized as default constructor initialization
   //     (similar to "new NoCopyMoveCtor()"), the check will emit the fix and
   //     the fix is correct.
   auto PNoCopyMoveCtor = std::unique_ptr<NoCopyMoveCtor>(new NoCopyMoveCtor{});

diff  --git a/compiler-rt/include/sanitizer/dfsan_interface.h 
b/compiler-rt/include/sanitizer/dfsan_interface.h
index 519bfffa9a20b9..7317da7c925943 100644
--- a/compiler-rt/include/sanitizer/dfsan_interface.h
+++ b/compiler-rt/include/sanitizer/dfsan_interface.h
@@ -70,7 +70,7 @@ dfsan_label dfsan_read_label(const void *addr, size_t size);
 /// from the address addr.
 dfsan_origin dfsan_read_origin_of_first_taint(const void *addr, size_t size);
 
-/// Returns whether the given label label contains the label elem.
+/// Returns whether the given label contains the label elem.
 int dfsan_has_label(dfsan_label label, dfsan_label elem);
 
 /// Flushes the DFSan shadow, i.e. forgets about all labels currently 
associated

diff  --git a/compiler-rt/lib/builtins/arm/udivsi3.S 
b/compiler-rt/lib/builtins/arm/udivsi3.S
index 0567ab4ab76560..16528e8bbd8297 100644
--- a/compiler-rt/lib/builtins/arm/udivsi3.S
+++ b/compiler-rt/lib/builtins/arm/udivsi3.S
@@ -204,7 +204,7 @@ LOCAL_LABEL(divby0):
        LOCAL_LABEL(block_skip_##shift) :;                                      
     \
        adcs r3, r3 // same as ((r3 << 1) | Carry). Carry is set if r0 >= r2.
 
-       // TODO: if current location counter is not not word aligned, we don't
+       // TODO: if current location counter is not word aligned, we don't
        // need the .p2align and nop
        // Label div0block must be word-aligned. First align block 31
        .p2align 2

diff  --git 
a/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp 
b/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
index a9dd0669ccb968..769a9b9a9fa0a0 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
@@ -208,7 +208,7 @@ TEST_F(StackPrintTest, SKIP_ON_SPARC(TruncatesContents)) {
   char tinybuf[10];
   trace.PrintTo(tinybuf, sizeof(tinybuf));
 
-  // This the the truncation case.
+  // This the truncation case.
   ASSERT_GT(actual_len, sizeof(tinybuf));
 
   // The truncated contents should be a prefix of the full contents.

diff  --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp 
b/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
index 177e338bf28288..5add97ccd17a3a 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
@@ -2565,7 +2565,7 @@ int sigaction_impl(int sig, const __sanitizer_sigaction 
*act,
     // Copy act into sigactions[sig].
     // Can't use struct copy, because compiler can emit call to memcpy.
     // Can't use internal_memcpy, because it copies byte-by-byte,
-    // and signal handler reads the handler concurrently. It it can read
+    // and signal handler reads the handler concurrently. It can read
     // some bytes from old value and some bytes from new value.
     // Use volatile to prevent insertion of memcpy.
     sigactions[sig].handler =

diff  --git a/libc/src/__support/FPUtil/generic/FMA.h 
b/libc/src/__support/FPUtil/generic/FMA.h
index 86cc40c808cd5d..5aba4309af0fb7 100644
--- a/libc/src/__support/FPUtil/generic/FMA.h
+++ b/libc/src/__support/FPUtil/generic/FMA.h
@@ -226,7 +226,7 @@ template <> LIBC_INLINE double fma<double>(double x, double 
y, double z) {
     if (r_exp > 0) {
       // The result is normal.  We will shift the mantissa to the right by
       // 63 - 52 = 11 bits (from the locations of the most significant bit).
-      // Then the rounding bit will correspond the the 11th bit, and the lowest
+      // Then the rounding bit will correspond the 11th bit, and the lowest
       // 10 bits are merged into sticky bits.
       round_bit = (result & 0x0400ULL) != 0;
       sticky_bits |= (result & 0x03ffULL) != 0;

diff  --git a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h 
b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
index d6faed72e674e5..f657350ff74c49 100644
--- a/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
@@ -244,7 +244,7 @@ LIBC_INLINE int raise_except(int excepts) {
   // We set the status flag for exception one at a time and call the
   // fwait instruction to actually get the processor to raise the
   // exception by calling the exception handler. This scheme is per
-  // the description in in "8.6 X87 FPU EXCEPTION SYNCHRONIZATION"
+  // the description in "8.6 X87 FPU EXCEPTION SYNCHRONIZATION"
   // of the "Intel 64 and IA-32 Architectures Software Developer's
   // Manual, Vol 1".
 

diff  --git a/libc/src/stdio/printf_core/parser.h 
b/libc/src/stdio/printf_core/parser.h
index 50a1d9df4fcbd1..a376af99ad8d7f 100644
--- a/libc/src/stdio/printf_core/parser.h
+++ b/libc/src/stdio/printf_core/parser.h
@@ -128,7 +128,7 @@ class Parser {
 
   // the ArgProvider can only return the next item in the list. This function 
is
   // used in index mode when the item that needs to be read is not the next 
one.
-  // It moves cur_args to the index requested so the the appropriate value may
+  // It moves cur_args to the index requested so the appropriate value may
   // be read. This may involve parsing the format string, and is in the worst
   // case an O(n^2) operation.
   bool args_to_index(size_t index);

diff  --git a/libc/src/stdio/scanf_core/parser.h 
b/libc/src/stdio/scanf_core/parser.h
index 46b1598e66f137..4b9f0b4dd95b94 100644
--- a/libc/src/stdio/scanf_core/parser.h
+++ b/libc/src/stdio/scanf_core/parser.h
@@ -86,7 +86,7 @@ class Parser {
 
   // the ArgList can only return the next item in the list. This function is
   // used in index mode when the item that needs to be read is not the next 
one.
-  // It moves cur_args to the index requested so the the appropriate value may
+  // It moves cur_args to the index requested so the appropriate value may
   // be read. This may involve parsing the format string, and is in the worst
   // case an O(n^2) operation.
   void args_to_index(size_t index);

diff  --git a/libc/test/src/math/RoundToIntegerTest.h 
b/libc/test/src/math/RoundToIntegerTest.h
index 4564e9885b3eb4..a7b85edac63721 100644
--- a/libc/test/src/math/RoundToIntegerTest.h
+++ b/libc/test/src/math/RoundToIntegerTest.h
@@ -114,7 +114,7 @@ class RoundToIntegerTestTemplate : public 
__llvm_libc::testing::Test {
     test_one_input(func, F(1234.0), I(1234), false);
     test_one_input(func, F(-1234.0), I(-1234), false);
 
-    // The rest of this this function compares with an equivalent MPFR function
+    // The rest of this function compares with an equivalent MPFR function
     // which rounds floating point numbers to long values. There is no MPFR
     // function to round to long long or wider integer values. So, we will
     // the remaining tests only if the width of I less than equal to that of

diff  --git a/lldb/include/lldb/API/SBTrace.h b/lldb/include/lldb/API/SBTrace.h
index ab8338b3f42426..ce95595a423c96 100644
--- a/lldb/include/lldb/API/SBTrace.h
+++ b/lldb/include/lldb/API/SBTrace.h
@@ -39,7 +39,7 @@ class LLDB_API SBTrace {
   SBTraceCursor CreateNewCursor(SBError &error, SBThread &thread);
 
   /// Save the trace to the specified directory, which will be created if
-  /// needed. This will also create a a file \a <directory>/trace.json with the
+  /// needed. This will also create a file \a <directory>/trace.json with the
   /// main properties of the trace session, along with others files which
   /// contain the actual trace data. The trace.json file can be used later as
   /// input for the "trace load" command to load the trace in LLDB, or for the

diff  --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h
index 51f01305b7d50f..2973ee0e7ec4ac 100644
--- a/lldb/include/lldb/Core/Module.h
+++ b/lldb/include/lldb/Core/Module.h
@@ -1084,7 +1084,7 @@ class Module : public 
std::enable_shared_from_this<Module>,
       ModuleList::GetGlobalModuleListProperties().GetSymlinkMappings();
 
   lldb::SectionListUP m_sections_up; ///< Unified section list for module that
-                                     /// is used by the ObjectFile and and
+                                     /// is used by the ObjectFile and
                                      /// ObjectFile instances for the debug 
info
 
   std::atomic<bool> m_did_load_objfile{false};

diff  --git a/lldb/include/lldb/Expression/LLVMUserExpression.h 
b/lldb/include/lldb/Expression/LLVMUserExpression.h
index 244a28aec242e3..7d32d17dbf544c 100644
--- a/lldb/include/lldb/Expression/LLVMUserExpression.h
+++ b/lldb/include/lldb/Expression/LLVMUserExpression.h
@@ -40,7 +40,7 @@ class LLVMUserExpression : public UserExpression {
   static bool classof(const Expression *obj) { return obj->isA(&ID); }
 
   // The IRPasses struct is filled in by a runtime after an expression is
-  // compiled and can be used to to run fixups/analysis passes as required.
+  // compiled and can be used to run fixups/analysis passes as required.
   // EarlyPasses are run on the generated module before lldb runs its own IR
   // fixups and inserts instrumentation code/pointer checks. LatePasses are run
   // after the module has been processed by llvm, before the module is

diff  --git a/lldb/include/lldb/Interpreter/OptionValueProperties.h 
b/lldb/include/lldb/Interpreter/OptionValueProperties.h
index 6655c47937379d..2ee13c63c38c11 100644
--- a/lldb/include/lldb/Interpreter/OptionValueProperties.h
+++ b/lldb/include/lldb/Interpreter/OptionValueProperties.h
@@ -82,7 +82,7 @@ class OptionValueProperties
     return ProtectedGetPropertyAtIndex(idx);
   }
 
-  // Property can be be a property path like
+  // Property can be a property path like
   // "target.process.extra-startup-command"
   virtual const Property *
   GetPropertyAtPath(const ExecutionContext *exe_ctx,

diff  --git a/lldb/include/lldb/Symbol/ObjectContainer.h 
b/lldb/include/lldb/Symbol/ObjectContainer.h
index cd4713b271c8d2..886ab46dc1e483 100644
--- a/lldb/include/lldb/Symbol/ObjectContainer.h
+++ b/lldb/include/lldb/Symbol/ObjectContainer.h
@@ -110,7 +110,7 @@ class ObjectContainer : public PluginInterface, public 
ModuleChild {
   /// Selects an architecture in an object file.
   ///
   /// Object files that contain a single architecture should verify that the
-  /// specified \a arch matches the architecture in in object file and return
+  /// specified \a arch matches the architecture in the object file and return
   /// \b true or \b false accordingly.
   ///
   /// Object files that contain more than one architecture should attempt to

diff  --git a/lldb/include/lldb/Target/Process.h 
b/lldb/include/lldb/Target/Process.h
index 44cda6d2ce1aad..a6d3e6c2d16926 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -1224,7 +1224,7 @@ class Process : public 
std::enable_shared_from_this<Process>,
   /// this function if the platform fails to identify the host OS version. The
   /// platform should be checked first in case you are running a simulator
   /// platform that might itself be running natively, but have 
diff erent
-  /// heuristics for figuring out which OS is is emulating.
+  /// heuristics for figuring out which OS is emulating.
   ///
   /// \return
   ///     Returns the version tuple of the host OS. In case of failure an empty
@@ -1840,7 +1840,7 @@ class Process : public 
std::enable_shared_from_this<Process>,
   ///
   /// \param[in] load_addr
   ///     The load address to query the range_info for. May include non
-  ///     address bits, these will be removed by the the ABI plugin if there is
+  ///     address bits, these will be removed by the ABI plugin if there is
   ///     one.
   ///
   /// \param[out] range_info

diff  --git a/lldb/include/lldb/Target/TargetList.h 
b/lldb/include/lldb/Target/TargetList.h
index f38a209d2b6684..a0bc6f1f820b84 100644
--- a/lldb/include/lldb/Target/TargetList.h
+++ b/lldb/include/lldb/Target/TargetList.h
@@ -25,7 +25,7 @@ class TargetList : public Broadcaster {
   /// Constructor
   ///
   /// The constructor for the target list is private. Clients can
-  /// get ahold of of the one and only target list through the
+  /// get ahold of the one and only target list through the
   /// lldb_private::Debugger::GetSharedInstance().GetTargetList().
   ///
   /// \see static TargetList& lldb_private::Debugger::GetTargetList().

diff  --git a/lldb/include/lldb/Target/Trace.h 
b/lldb/include/lldb/Target/Trace.h
index 987720e24e18df..3f67bed425d708 100644
--- a/lldb/include/lldb/Target/Trace.h
+++ b/lldb/include/lldb/Target/Trace.h
@@ -58,7 +58,7 @@ class Trace : public PluginInterface,
   virtual void Dump(Stream *s) const = 0;
 
   /// Save the trace to the specified directory, which will be created if
-  /// needed. This will also create a a file \a <directory>/trace.json with the
+  /// needed. This will also create a file \a <directory>/trace.json with the
   /// main properties of the trace session, along with others files which
   /// contain the actual trace data. The trace.json file can be used later as
   /// input for the "trace load" command to load the trace in LLDB.

diff  --git a/lldb/include/lldb/Utility/RangeMap.h 
b/lldb/include/lldb/Utility/RangeMap.h
index 7632126f97ec4a..8cc382bcc046ce 100644
--- a/lldb/include/lldb/Utility/RangeMap.h
+++ b/lldb/include/lldb/Utility/RangeMap.h
@@ -244,7 +244,7 @@ template <typename B, typename S, unsigned N = 0> class 
RangeVector {
     if (first_intersect == m_entries.end())
       return;
 
-    // We we can combine at least one entry, then we make a new collection and
+    // We can combine at least one entry, then we make a new collection and
     // populate it accordingly, and then swap it into place.
     auto pos = std::next(first_intersect);
     Collection minimal_ranges(m_entries.begin(), pos);
@@ -501,7 +501,7 @@ class RangeDataVector {
       }
     }
 
-    // We we can combine at least one entry, then we make a new collection and
+    // We can combine at least one entry, then we make a new collection and
     // populate it accordingly, and then swap it into place.
     if (can_combine) {
       Collection minimal_ranges;

diff  --git a/lldb/source/Breakpoint/Breakpoint.cpp 
b/lldb/source/Breakpoint/Breakpoint.cpp
index 9f00c967be4392..ff4f195ea30909 100644
--- a/lldb/source/Breakpoint/Breakpoint.cpp
+++ b/lldb/source/Breakpoint/Breakpoint.cpp
@@ -413,7 +413,7 @@ const char *Breakpoint::GetConditionText() const {
 void Breakpoint::SetCallback(BreakpointHitCallback callback, void *baton,
                              bool is_synchronous) {
   // The default "Baton" class will keep a copy of "baton" and won't free or
-  // delete it when it goes goes out of scope.
+  // delete it when it goes out of scope.
   m_options.SetCallback(callback, std::make_shared<UntypedBaton>(baton),
                         is_synchronous);
 

diff  --git a/lldb/source/Breakpoint/BreakpointLocation.cpp 
b/lldb/source/Breakpoint/BreakpointLocation.cpp
index 3ead1eca691341..0fcefe5c63be74 100644
--- a/lldb/source/Breakpoint/BreakpointLocation.cpp
+++ b/lldb/source/Breakpoint/BreakpointLocation.cpp
@@ -204,7 +204,7 @@ bool BreakpointLocation::IsCallbackSynchronous() {
 void BreakpointLocation::SetCallback(BreakpointHitCallback callback,
                                      void *baton, bool is_synchronous) {
   // The default "Baton" class will keep a copy of "baton" and won't free or
-  // delete it when it goes goes out of scope.
+  // delete it when it goes out of scope.
   GetLocationOptions().SetCallback(
       callback, std::make_shared<UntypedBaton>(baton), is_synchronous);
   SendBreakpointLocationChangedEvent(eBreakpointEventTypeCommandChanged);

diff  --git a/lldb/source/Breakpoint/BreakpointSite.cpp 
b/lldb/source/Breakpoint/BreakpointSite.cpp
index 11ebc59c7e1245..72e1a0958907c1 100644
--- a/lldb/source/Breakpoint/BreakpointSite.cpp
+++ b/lldb/source/Breakpoint/BreakpointSite.cpp
@@ -49,7 +49,7 @@ break_id_t BreakpointSite::GetNextID() {
 
 bool BreakpointSite::ShouldStop(StoppointCallbackContext *context) {
   m_hit_counter.Increment();
-  // ShouldStop can do a lot of work, and might even come come back and hit
+  // ShouldStop can do a lot of work, and might even come back and hit
   // this breakpoint site again.  So don't hold the m_owners_mutex the whole
   // while.  Instead make a local copy of the collection and call ShouldStop on
   // the copy.

diff  --git a/lldb/source/Breakpoint/Watchpoint.cpp 
b/lldb/source/Breakpoint/Watchpoint.cpp
index a20a4ad98c5a84..f88e899eb711fe 100644
--- a/lldb/source/Breakpoint/Watchpoint.cpp
+++ b/lldb/source/Breakpoint/Watchpoint.cpp
@@ -66,7 +66,7 @@ Watchpoint::~Watchpoint() = default;
 void Watchpoint::SetCallback(WatchpointHitCallback callback, void *baton,
                              bool is_synchronous) {
   // The default "Baton" class will keep a copy of "baton" and won't free or
-  // delete it when it goes goes out of scope.
+  // delete it when it goes out of scope.
   m_options.SetCallback(callback, std::make_shared<UntypedBaton>(baton),
                         is_synchronous);
 

diff  --git a/lldb/source/Commands/CommandObjectMemory.cpp 
b/lldb/source/Commands/CommandObjectMemory.cpp
index ba5aad3d4ad558..97f2dde7b1eb2b 100644
--- a/lldb/source/Commands/CommandObjectMemory.cpp
+++ b/lldb/source/Commands/CommandObjectMemory.cpp
@@ -1795,7 +1795,7 @@ class CommandObjectMemoryRegion : public 
CommandObjectParsed {
       return false;
     }
 
-    // Is is important that we track the address used to request the region as
+    // It is important that we track the address used to request the region as
     // this will give the correct section name in the case that regions 
overlap.
     // On Windows we get mutliple regions that start at the same place but are
     // 
diff erent sizes and refer to 
diff erent sections.

diff  --git a/lldb/source/Core/DataFileCache.cpp 
b/lldb/source/Core/DataFileCache.cpp
index b29327db5ca38c..a8127efc1df064 100644
--- a/lldb/source/Core/DataFileCache.cpp
+++ b/lldb/source/Core/DataFileCache.cpp
@@ -285,7 +285,7 @@ bool ConstStringTable::Encode(DataEncoder &encoder) {
   size_t length_offset = encoder.GetByteSize();
   encoder.AppendU32(0); // Total length of all strings which will be fixed up.
   size_t strtab_offset = encoder.GetByteSize();
-  encoder.AppendU8(0); // Start the string table with with an empty string.
+  encoder.AppendU8(0); // Start the string table with an empty string.
   for (auto s: m_strings) {
     // Make sure all of the offsets match up with what we handed out!
     assert(m_string_to_offset.find(s)->second ==

diff  --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index 9842f56b1fe4b5..3650df762231d5 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -347,7 +347,7 @@ size_t ModuleList::RemoveOrphans(bool mandatory) {
   }
   size_t remove_count = 0;
   // Modules might hold shared pointers to other modules, so removing one
-  // module might make other other modules orphans. Keep removing modules until
+  // module might make other modules orphans. Keep removing modules until
   // there are no further modules that can be removed.
   bool made_progress = true;
   while (made_progress) {

diff  --git a/lldb/source/Host/macosx/objcxx/Host.mm 
b/lldb/source/Host/macosx/objcxx/Host.mm
index 5a151b9ecc8fff..070a49208639a2 100644
--- a/lldb/source/Host/macosx/objcxx/Host.mm
+++ b/lldb/source/Host/macosx/objcxx/Host.mm
@@ -824,7 +824,7 @@ static Status getXPCAuthorization(ProcessLaunchInfo 
&launch_info) {
     if (copyRightStatus != errAuthorizationSuccess) {
       // Eventually when the commandline supports running as root and the user
       // is not
-      // logged in in the current audit session, we will need the trick in gdb
+      // logged in to the current audit session, we will need the trick in gdb
       // where
       // we ask the user to type in the root passwd in the terminal.
       error.SetError(2, eErrorTypeGeneric);

diff  --git a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h 
b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
index 283306ed0f8159..025a7a3fc368b5 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
+++ b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
@@ -46,7 +46,7 @@ class ABIMacOSX_arm64 : public ABIAArch64 {
   // in other environments there can be a large number of 
diff erent functions
   // involved in async traps.
   bool CallFrameAddressIsValid(lldb::addr_t cfa) override {
-    // Make sure the stack call frame addresses are are 8 byte aligned
+    // Make sure the stack call frame addresses are 8 byte aligned
     if (cfa & (8ull - 1ull))
       return false; // Not 8 byte aligned
     if (cfa == 0)

diff  --git a/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h 
b/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
index b3d4cba795f060..01d4af62fa6ef7 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
+++ b/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
@@ -49,7 +49,7 @@ class ABISysV_arm64 : public ABIAArch64 {
   // in other environments there can be a large number of 
diff erent functions
   // involved in async traps.
   bool CallFrameAddressIsValid(lldb::addr_t cfa) override {
-    // Make sure the stack call frame addresses are are 8 byte aligned
+    // Make sure the stack call frame addresses are 8 byte aligned
     if (cfa & (8ull - 1ull))
       return false; // Not 8 byte aligned
     if (cfa == 0)

diff  --git a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h 
b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
index a77af75e57b8d8..c5ebd9717575ae 100644
--- a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
+++ b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.h
@@ -37,7 +37,7 @@ class ABIMacOSX_arm : public lldb_private::RegInfoBasedABI {
   bool RegisterIsVolatile(const lldb_private::RegisterInfo *reg_info) override;
 
   bool CallFrameAddressIsValid(lldb::addr_t cfa) override {
-    // Make sure the stack call frame addresses are are 4 byte aligned
+    // Make sure the stack call frame addresses are 4 byte aligned
     if (cfa & (4ull - 1ull))
       return false; // Not 4 byte aligned
     if (cfa == 0)

diff  --git a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.h 
b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
index ce67b367d18f7d..65bc3e0b62987f 100644
--- a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
+++ b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.h
@@ -37,7 +37,7 @@ class ABISysV_arm : public lldb_private::RegInfoBasedABI {
   bool RegisterIsVolatile(const lldb_private::RegisterInfo *reg_info) override;
 
   bool CallFrameAddressIsValid(lldb::addr_t cfa) override {
-    // Make sure the stack call frame addresses are are 4 byte aligned
+    // Make sure the stack call frame addresses are 4 byte aligned
     if (cfa & (4ull - 1ull))
       return false; // Not 4 byte aligned
     if (cfa == 0)

diff  --git a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h 
b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
index 462317f17666c1..8c637b7671f6be 100644
--- a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
+++ b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.h
@@ -52,7 +52,7 @@ class ABIMacOSX_i386 : public ABIX86_i386 {
   // If we were to enforce 16-byte alignment, we also need to relax to 4-byte
   // alignment for non-darwin i386 targets.
   bool CallFrameAddressIsValid(lldb::addr_t cfa) override {
-    // Make sure the stack call frame addresses are are 4 byte aligned
+    // Make sure the stack call frame addresses are 4 byte aligned
     if (cfa & (4ull - 1ull))
       return false; // Not 4 byte aligned
     if (cfa == 0)

diff  --git a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp 
b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
index bb44675e842e76..81c72122cb7e59 100644
--- a/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
+++ b/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
@@ -51,7 +51,7 @@ void ArchitectureArm::OverrideStopInfo(Thread &thread) const {
   // stepping because the debugger stops regardless due to the BVR/BCR
   // triggering a stop.
   //
-  // It also means we can set breakpoints on instructions inside an an if/then
+  // It also means we can set breakpoints on instructions inside an if/then
   // block and correctly skip them if we use the BKPT instruction. The ARM and
   // Thumb BKPT instructions are unconditional even when executed in a Thumb IT
   // block.

diff  --git 
a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h 
b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
index 9430ab5b0464b8..d8d519693f102c 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
@@ -53,7 +53,7 @@ class ClangPersistentVariables;
 /// struct so that it can be passed to the JITted version of the IR.
 ///
 /// Fourth and finally, it "dematerializes" the struct after the JITted code
-/// has has executed, placing the new values back where it found the old ones.
+/// has executed, placing the new values back where it found the old ones.
 class ClangExpressionDeclMap : public ClangASTSource {
 public:
   /// Constructor

diff  --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h 
b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
index 097e149f0f0f92..ff7087da6825d9 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
@@ -165,7 +165,7 @@ class PlatformDarwin : public PlatformPOSIX {
     uint64_t abort_cause;      // unsigned int
   };
 
-  /// Extract the `__crash_info` annotations from each of of the target's
+  /// Extract the `__crash_info` annotations from each of the target's
   /// modules.
   ///
   /// If the platform have a crashed processes with a `__crash_info` section,

diff  --git a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp 
b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
index 1301a301f2111d..cbac14e2ccf7a9 100644
--- a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+++ b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
@@ -467,7 +467,7 @@ ProcessSP PlatformWindows::DebugProcess(ProcessLaunchInfo 
&launch_info,
   // mechanisms to do it for us, because it doesn't have the special knowledge
   // required for setting up the background thread or passing the right flags.
   //
-  // Another problem is that that LLDB's standard model for debugging a process
+  // Another problem is that LLDB's standard model for debugging a process
   // is to first launch it, have it stop at the entry point, and then attach to
   // it.  In Windows this doesn't quite work, you have to specify as an
   // argument to CreateProcess() that you're going to debug the process.  So we

diff  --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp 
b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index 9a67ac470bd2af..aac3bc847dd051 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -671,7 +671,7 @@ void NativeProcessLinux::MonitorSIGTRAP(const siginfo_t 
&info,
     SetCurrentThreadID(main_thread->GetID());
     main_thread->SetStoppedByExec();
 
-    // Tell coordinator about about the "new" (since exec) stopped main thread.
+    // Tell coordinator about the "new" (since exec) stopped main thread.
     ThreadWasCreated(*main_thread);
 
     // Let our delegate know we have just exec'd.

diff  --git a/lldb/source/Plugins/Process/Linux/Perf.cpp 
b/lldb/source/Plugins/Process/Linux/Perf.cpp
index 0179455a68d4c4..097c719b9c1d25 100644
--- a/lldb/source/Plugins/Process/Linux/Perf.cpp
+++ b/lldb/source/Plugins/Process/Linux/Perf.cpp
@@ -228,7 +228,7 @@ Expected<std::vector<uint8_t>> 
PerfEvent::GetReadOnlyDataBuffer() {
     uint64_t actual_data_head = data_head % data_size;
     // The buffer has wrapped, so we first the oldest chunk of data
     output.insert(output.end(), data.begin() + actual_data_head, data.end());
-    // And we we read the most recent chunk of data
+    // And we read the most recent chunk of data
     output.insert(output.end(), data.begin(), data.begin() + actual_data_head);
   } else {
     // There's been no wrapping, so we just read linearly

diff  --git a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp 
b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
index 8ff4ae1e19c0f6..aedc43a015ff12 100644
--- a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
+++ b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
@@ -131,7 +131,7 @@ lldb::addr_t ProcessElfCore::AddAddressRangeFromLoadSegment(
       m_core_aranges.Append(range_entry);
     }
   }
-  // Keep a separate map of permissions that that isn't coalesced so all ranges
+  // Keep a separate map of permissions that isn't coalesced so all ranges
   // are maintained.
   const uint32_t permissions =
       ((header.p_flags & llvm::ELF::PF_R) ? lldb::ePermissionsReadable : 0u) |

diff  --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp 
b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index a4babce41e2b46..8ca2072b987dc7 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -2089,7 +2089,7 @@ StateType 
ProcessGDBRemote::SetThreadStopInfo(StringExtractor &stop_packet) {
   switch (stop_type) {
   case 'T':
   case 'S': {
-    // This is a bit of a hack, but is is required. If we did exec, we need to
+    // This is a bit of a hack, but it is required. If we did exec, we need to
     // clear our thread lists and also know to rebuild our dynamic register
     // info before we lookup and threads and populate the expedited register
     // values so we need to know this right away so we can cleanup and update

diff  --git 
a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h 
b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h
index 9592d335eff7c6..4dffc4f9db0ebd 100644
--- a/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h
+++ b/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h
@@ -99,7 +99,7 @@ struct MinidumpContext_x86_32 {
 
   // The next field is included with
   // MinidumpContext_x86_32_Flags::ExtendedRegisters
-  // It contains vector (MMX/SSE) registers.  It it laid out in the
+  // It contains vector (MMX/SSE) registers.  It is laid out in the
   // format used by the fxsave and fsrstor instructions, so it includes
   // a copy of the x87 floating-point registers as well.  See FXSAVE in
   // "Intel Architecture Software Developer's Manual, Volume 2."

diff  --git 
a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp 
b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
index eee2f6f5d43fc8..9ac840a4a102da 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
@@ -1344,7 +1344,7 @@ llvm::Expected<FileSP> PythonFile::ConvertToFile(bool 
borrowed) {
 
   FileSP file_sp;
   if (borrowed) {
-    // In this case we we don't need to retain the python
+    // In this case we don't need to retain the python
     // object at all.
     file_sp = std::make_shared<NativeFile>(fd, options.get(), false);
   } else {

diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp 
b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 37a1174ad62bd1..37fb16d4e0351c 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -1023,7 +1023,7 @@ TypeSP DWARFASTParserClang::ParseSubroutine(const 
DWARFDIE &die,
           }
         }
       } else if (is_cxx_method) {
-        // Look at the parent of this DIE and see if is is a class or
+        // Look at the parent of this DIE and see if it is a class or
         // struct and see if this is actually a C++ method
         Type *class_type = dwarf->ResolveType(decl_ctx_die);
         if (class_type) {
@@ -3093,7 +3093,7 @@ void DWARFASTParserClang::ParseSingleMember(
   // in our AST. Clang will re-create those articial members and they would
   // otherwise just overlap in the layout with the FieldDecls we add here.
   // This needs to be done after updating FieldInfo which keeps track of where
-  // field start/end so we don't later try to fill the the space of this
+  // field start/end so we don't later try to fill the space of this
   // artificial member with (unnamed bitfield) padding.
   // FIXME: This check should verify that this is indeed an artificial member
   // we are supposed to ignore.
@@ -3727,7 +3727,7 @@ bool DWARFASTParserClang::CopyUniqueClassMethodTypes(
     // Make sure this is a declaration and not a concrete instance by looking
     // for DW_AT_declaration set to 1. Sometimes concrete function instances 
are
     // placed inside the class definitions and shouldn't be included in the 
list
-    // of things are are tracking here.
+    // of things that are tracking here.
     if (die.GetAttributeValueAsUnsigned(DW_AT_declaration, 0) != 1)
       return;
 

diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp 
b/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
index 57b962ff60df03..90f18c96afa230 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
@@ -654,7 +654,7 @@ void ManualDWARFIndex::IndexSet::Encode(DataEncoder 
&encoder) const {
 
   // Now that all strings have been gathered, we will emit the string table.
   strtab.Encode(encoder);
-  // Followed the the symbol table data.
+  // Followed by the symbol table data.
   encoder.AppendData(index_encoder.GetData());
 }
 

diff  --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp 
b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
index e183e592986aa8..6bed78fd83f0b7 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
@@ -285,7 +285,7 @@ StringRef TraceIntelPTBundleLoader::GetSchema() {
   "tscPerfZeroConversion"?: {
     // Values used to convert between TSCs and nanoseconds. See the time_zero
     // section in https://man7.org/linux/man-pages/man2/perf_event_open.2.html
-    // for for information.
+    // for information.
 
     "timeMult": integer,
     "timeShift": integer,

diff  --git a/lldb/source/Symbol/LineTable.cpp 
b/lldb/source/Symbol/LineTable.cpp
index 59b5d6125e04e0..abe4c98d592878 100644
--- a/lldb/source/Symbol/LineTable.cpp
+++ b/lldb/source/Symbol/LineTable.cpp
@@ -89,7 +89,7 @@ void LineTable::AppendLineEntryToSequence(
   if (!entries.empty() && entries.back().file_addr == file_addr) {
     // GCC don't use the is_prologue_end flag to mark the first instruction
     // after the prologue.
-    // Instead of it it is issuing a line table entry for the first instruction
+    // Instead of it is issuing a line table entry for the first instruction
     // of the prologue and one for the first instruction after the prologue. If
     // the size of the prologue is 0 instruction then the 2 line entry will
     // have the same file address. Removing it will remove our ability to

diff  --git a/lldb/source/Symbol/Symtab.cpp b/lldb/source/Symbol/Symtab.cpp
index 6d94fe5031627b..104faac38ffa0f 100644
--- a/lldb/source/Symbol/Symtab.cpp
+++ b/lldb/source/Symbol/Symtab.cpp
@@ -1286,7 +1286,7 @@ bool Symtab::Encode(DataEncoder &encoder) const {
 
   // Now that all strings have been gathered, we will emit the string table.
   strtab.Encode(encoder);
-  // Followed the the symbol table data.
+  // Followed by the symbol table data.
   encoder.AppendData(symtab_encoder.GetData());
   return true;
 }

diff  --git a/lldb/source/Target/RegisterContextUnwind.cpp 
b/lldb/source/Target/RegisterContextUnwind.cpp
index 242c7d3f6b9458..13e101413a4775 100644
--- a/lldb/source/Target/RegisterContextUnwind.cpp
+++ b/lldb/source/Target/RegisterContextUnwind.cpp
@@ -712,7 +712,7 @@ bool RegisterContextUnwind::CheckIfLoopingStack() {
   // frames with the same
   // CFA (in theory we
   // can have arbitrary number of frames with the same CFA, but more then 2 is
-  // very very unlikely)
+  // very unlikely)
 
   RegisterContextUnwind::SharedPtr next_frame = GetNextFrame();
   if (next_frame) {

diff  --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 622ed082f09030..7429b9e80f26ac 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -1813,7 +1813,7 @@ size_t Target::ReadMemory(const Address &addr, void *dst, 
size_t dst_len,
     } else {
       // We have at least one section loaded. This can be because we have
       // manually loaded some sections with "target modules load ..." or
-      // because we have have a live process that has sections loaded through
+      // because we have a live process that has sections loaded through
       // the dynamic loader
       load_addr =
           fixed_addr.GetOffset(); // "fixed_addr" doesn't have a section, so
@@ -2096,7 +2096,7 @@ bool Target::ReadPointerFromMemory(const Address &addr, 
Status &error,
       } else {
         // We have at least one section loaded. This can be because we have
         // manually loaded some sections with "target modules load ..." or
-        // because we have have a live process that has sections loaded through
+        // because we have a live process that has sections loaded through
         // the dynamic loader
         section_load_list.ResolveLoadAddress(pointer_vm_addr, pointer_addr);
       }

diff  --git a/lldb/source/Utility/Args.cpp b/lldb/source/Utility/Args.cpp
index d34433996021e3..000321b7369452 100644
--- a/lldb/source/Utility/Args.cpp
+++ b/lldb/source/Utility/Args.cpp
@@ -25,7 +25,7 @@ static llvm::StringRef ParseDoubleQuotes(llvm::StringRef 
quoted,
   // Inside double quotes, '\' and '"' are special.
   static const char *k_escapable_characters = "\"\\";
   while (true) {
-    // Skip over over regular characters and append them.
+    // Skip over regular characters and append them.
     size_t regular = quoted.find_first_of(k_escapable_characters);
     result += quoted.substr(0, regular);
     quoted = quoted.substr(regular);
@@ -93,7 +93,7 @@ ParseSingleArgument(llvm::StringRef command) {
 
   bool arg_complete = false;
   do {
-    // Skip over over regular characters and append them.
+    // Skip over regular characters and append them.
     size_t regular = command.find_first_of(" \t\r\"'`\\");
     arg += command.substr(0, regular);
     command = command.substr(regular);

diff  --git a/lldb/tools/debugserver/source/MacOSX/MachTask.mm 
b/lldb/tools/debugserver/source/MacOSX/MachTask.mm
index feec85df9ef185..4f5b4039243f66 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachTask.mm
+++ b/lldb/tools/debugserver/source/MacOSX/MachTask.mm
@@ -670,7 +670,7 @@ static void get_threads_profile_data(DNBProfileDataScanType 
scanType,
 
   err = RestoreExceptionPortInfo();
 
-  // NULL our our exception port and let our exception thread exit
+  // NULL our exception port and let our exception thread exit
   mach_port_t exception_port = m_exception_port;
   m_exception_port = 0;
 

diff  --git a/lldb/tools/lldb-vscode/JSONUtils.cpp 
b/lldb/tools/lldb-vscode/JSONUtils.cpp
index 03826f8936ae32..e307bb05bc65a7 100644
--- a/lldb/tools/lldb-vscode/JSONUtils.cpp
+++ b/lldb/tools/lldb-vscode/JSONUtils.cpp
@@ -1013,7 +1013,7 @@ llvm::json::Value CreateVariable(lldb::SBValue v, int64_t 
variablesReference,
   SetValueForKey(v, object, "value");
   auto type_obj = v.GetType();
   auto type_cstr = type_obj.GetDisplayTypeName();
-  // If we have a type with many many children, we would like to be able to
+  // If we have a type with many children, we would like to be able to
   // give a hint to the IDE that the type has indexed children so that the
   // request can be broken up in grabbing only a few children at a time. We 
want
   // to be careful and only call "v.GetNumChildren()" if we have an array type

diff  --git a/lldb/tools/lldb-vscode/lldb-vscode.cpp 
b/lldb/tools/lldb-vscode/lldb-vscode.cpp
index 407259690bbc4b..294783c4f505d3 100644
--- a/lldb/tools/lldb-vscode/lldb-vscode.cpp
+++ b/lldb/tools/lldb-vscode/lldb-vscode.cpp
@@ -1738,7 +1738,7 @@ lldb::SBError LaunchProcess(const llvm::json::Object 
&request) {
     // selected target after these commands are run.
     g_vsc.target = g_vsc.debugger.GetSelectedTarget();
     // Make sure the process is launched and stopped at the entry point before
-    // proceeding as the the launch commands are not run using the synchronous
+    // proceeding as the launch commands are not run using the synchronous
     // mode.
     error = g_vsc.WaitForProcessToStop(timeout_seconds);
   }

diff  --git a/lldb/unittests/Interpreter/TestCompletion.cpp 
b/lldb/unittests/Interpreter/TestCompletion.cpp
index 361b31e1068715..3d4942787fdf5f 100644
--- a/lldb/unittests/Interpreter/TestCompletion.cpp
+++ b/lldb/unittests/Interpreter/TestCompletion.cpp
@@ -60,7 +60,7 @@ class CompletionTest : public testing::Test {
 
   void SetUp() override {
     // chdir back into the original working dir this test binary started with.
-    // A previous test may have have changed the working dir.
+    // A previous test may have changed the working dir.
     ASSERT_NO_ERROR(fs::set_current_path(OriginalWorkingDir));
 
     // Get the name of the current test. To prevent that by chance two tests

diff  --git a/lldb/unittests/Process/gdb-remote/PortMapTest.cpp 
b/lldb/unittests/Process/gdb-remote/PortMapTest.cpp
index 496a55be7ffc85..8671ebe0fd089b 100644
--- a/lldb/unittests/Process/gdb-remote/PortMapTest.cpp
+++ b/lldb/unittests/Process/gdb-remote/PortMapTest.cpp
@@ -19,7 +19,7 @@ TEST(PortMapTest, Constructors) {
   GDBRemoteCommunicationServerPlatform::PortMap p1;
   ASSERT_TRUE(p1.empty());
 
-  // Empty means no restrictions, return 0 and and bind to get a port
+  // Empty means no restrictions, return 0 and bind to get a port
   llvm::Expected<uint16_t> available_port = p1.GetNextAvailablePort();
   ASSERT_THAT_EXPECTED(available_port, llvm::HasValue(0));
 

diff  --git a/llvm/utils/vscode/llvm/language-configuration-tablegen.json 
b/llvm/utils/vscode/llvm/language-configuration-tablegen.json
index aa2571000769a7..8f162a0c45f2c0 100644
--- a/llvm/utils/vscode/llvm/language-configuration-tablegen.json
+++ b/llvm/utils/vscode/llvm/language-configuration-tablegen.json
@@ -19,7 +19,7 @@
         ["\"", "\""],
         ["'", "'"]
     ],
-    // symbols that that can be used to surround a selection
+    // symbols that can be used to surround a selection
     "surroundingPairs": [
         ["{", "}"],
         ["[", "]"],

diff  --git 
a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp 
b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
index 0408c757483c4f..b375d77f2023b0 100644
--- 
a/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
+++ 
b/openmp/libomptarget/plugins-nextgen/common/PluginInterface/GlobalHandler.cpp
@@ -114,7 +114,7 @@ Error GenericGlobalHandlerTy::getGlobalMetadataFromImage(
     return Plugin::error("Unable to create ELF object for image %p",
                          Image.getStart());
 
-  // Search the ELF symbol using the the symbol name.
+  // Search the ELF symbol using the symbol name.
   auto SymOrErr = getELFSymbol(*ELFObj, ImageGlobal.getName());
   if (!SymOrErr)
     return Plugin::error("Failed ELF lookup of global '%s': %s",

diff  --git a/openmp/runtime/src/kmp_affinity.cpp 
b/openmp/runtime/src/kmp_affinity.cpp
index 01333c2df6a6d2..20c1c610b9159e 100644
--- a/openmp/runtime/src/kmp_affinity.cpp
+++ b/openmp/runtime/src/kmp_affinity.cpp
@@ -2810,7 +2810,7 @@ static int __kmp_affinity_cmp_ProcCpuInfo_phys_id(const 
void *a,
 // Set the array sizes for the hierarchy layers
 static void __kmp_dispatch_set_hierarchy_values() {
   // Set the maximum number of L1's to number of cores
-  // Set the maximum number of L2's to to either number of cores / 2 for
+  // Set the maximum number of L2's to either number of cores / 2 for
   // Intel(R) Xeon Phi(TM) coprocessor formally codenamed Knights Landing
   // Or the number of cores for Intel(R) Xeon(R) processors
   // Set the maximum number of NUMA nodes and L3's to number of packages
@@ -3316,7 +3316,7 @@ static bool __kmp_affinity_create_cpuinfo_map(int *line,
         return false;
       }
 
-      // If the thread ids were not specified and we see entries entries that
+      // If the thread ids were not specified and we see entries that
       // are duplicates, start the loop over and assign the thread ids 
manually.
       assign_thread_ids = true;
       goto restart_radix_check;

diff  --git a/openmp/runtime/src/kmp_itt.inl b/openmp/runtime/src/kmp_itt.inl
index 5e75f60124af46..5236165c35b3ed 100644
--- a/openmp/runtime/src/kmp_itt.inl
+++ b/openmp/runtime/src/kmp_itt.inl
@@ -438,7 +438,7 @@ void *__kmp_itt_barrier_object(int gtid, int bt, int 
set_name,
     KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= bs_last_barrier);
     // This condition is a must (we would have zero divide otherwise).
     KMP_BUILD_ASSERT(sizeof(kmp_team_t) >= 2 * bs_last_barrier);
-    // More strong condition: make sure we have room at least for for two
+    // More strong condition: make sure we have room at least for two
     // 
diff erent ids (for each barrier type).
     object = reinterpret_cast<void *>(
         (kmp_uintptr_t)(team) +

diff  --git a/openmp/runtime/src/kmp_lock.cpp b/openmp/runtime/src/kmp_lock.cpp
index 8fcddc710862ba..85c54f4cdc7e96 100644
--- a/openmp/runtime/src/kmp_lock.cpp
+++ b/openmp/runtime/src/kmp_lock.cpp
@@ -3809,7 +3809,7 @@ static kmp_lock_index_t 
__kmp_lock_table_insert(kmp_user_lock_p lck) {
                sizeof(kmp_user_lock_p) * (__kmp_user_lock_table.used - 1));
     table[0] = (kmp_user_lock_p)__kmp_user_lock_table.table;
     // We cannot free the previous table now, since it may be in use by other
-    // threads. So save the pointer to the previous table in in the first
+    // threads. So save the pointer to the previous table in the first
     // element of the new table. All the tables will be organized into a list,
     // and could be freed when library shutting down.
     __kmp_user_lock_table.table = table;

diff  --git a/openmp/runtime/src/kmp_settings.cpp 
b/openmp/runtime/src/kmp_settings.cpp
index 5b66e96ad68139..e731bf45e8eee1 100644
--- a/openmp/runtime/src/kmp_settings.cpp
+++ b/openmp/runtime/src/kmp_settings.cpp
@@ -1593,7 +1593,7 @@ static void __kmp_stg_parse_debug(char const *name, char 
const *value,
 static void __kmp_stg_parse_debug_buf(char const *name, char const *value,
                                       void *data) {
   __kmp_stg_parse_bool(name, value, &__kmp_debug_buf);
-  // !!! TODO: Move buffer initialization of of this file! It may works
+  // !!! TODO: Move buffer initialization of this file! It may works
   // incorrectly if KMP_DEBUG_BUF is parsed before KMP_DEBUG_BUF_LINES or
   // KMP_DEBUG_BUF_CHARS.
   if (__kmp_debug_buf) {

diff  --git a/polly/include/polly/ScopInfo.h b/polly/include/polly/ScopInfo.h
index 2e6853d5446fb4..1e0692ff40110e 100644
--- a/polly/include/polly/ScopInfo.h
+++ b/polly/include/polly/ScopInfo.h
@@ -509,7 +509,7 @@ class MemoryAccess final {
   /// Here not all iterations access the same memory location, but iterations
   /// for which j = 0 holds do. After lifting the equality check in 
ScopBuilder,
   /// subsequent transformations do not only need check if a statement is
-  /// reduction like, but they also need to verify that that the reduction
+  /// reduction like, but they also need to verify that the reduction
   /// property is only exploited for statement instances that load from and
   /// store to the same data location. Doing so at dependence analysis time
   /// could allow us to handle the above example.

diff  --git a/polly/lib/Transform/MatmulOptimizer.cpp 
b/polly/lib/Transform/MatmulOptimizer.cpp
index b6f14d99d941e4..05578bd9ed11e5 100644
--- a/polly/lib/Transform/MatmulOptimizer.cpp
+++ b/polly/lib/Transform/MatmulOptimizer.cpp
@@ -565,7 +565,7 @@ createMicroKernel(isl::schedule_node Node,
 ///
 /// We create the BLIS macro-kernel by applying a combination of tiling
 /// of dimensions of the band node and interchanging of two innermost
-/// modified dimensions. The values of of MacroKernelParams's fields are used
+/// modified dimensions. The values of MacroKernelParams's fields are used
 /// as tile sizes.
 ///
 /// @param Node The schedule node to be modified.

diff  --git a/third-party/benchmark/include/benchmark/benchmark.h 
b/third-party/benchmark/include/benchmark/benchmark.h
index c8ced387714d3e..6287c0afbdcf8c 100644
--- a/third-party/benchmark/include/benchmark/benchmark.h
+++ b/third-party/benchmark/include/benchmark/benchmark.h
@@ -971,7 +971,7 @@ class Benchmark {
 
   // Have "setup" and/or "teardown" invoked once for every benchmark run.
   // If the benchmark is multi-threaded (will run in k threads concurrently),
-  // the setup callback will be be invoked exactly once (not k times) before
+  // the setup callback will be invoked exactly once (not k times) before
   // each run with k threads. Time allowing (e.g. for a short benchmark), there
   // may be multiple such runs per benchmark, each run with its own
   // "setup"/"teardown".

diff  --git a/third-party/benchmark/test/complexity_test.cc 
b/third-party/benchmark/test/complexity_test.cc
index 1251cd44f52dfc..ea268b54598800 100644
--- a/third-party/benchmark/test/complexity_test.cc
+++ b/third-party/benchmark/test/complexity_test.cc
@@ -26,7 +26,7 @@ int AddComplexityTest(const std::string &test_name,
   AddCases(
       TC_ConsoleOut,
       {{"^%bigo_name %bigo_str %bigo_str[ ]*$"},
-       {"^%bigo_name", MR_Not},  // Assert we we didn't only matched a name.
+       {"^%bigo_name", MR_Not},  // Assert we didn't only matched a name.
        {"^%rms_name %rms %rms[ ]*$", MR_Next}});
   AddCases(
       TC_JSONOut,


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to