Fix "the the" and similar typos.
authorDan Gohman <gohman@apple.com>
Wed, 10 Feb 2010 16:03:48 +0000 (16:03 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 10 Feb 2010 16:03:48 +0000 (16:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8

59 files changed:
include/llvm/Analysis/MemoryBuiltins.h
include/llvm/Bitcode/BitstreamWriter.h
include/llvm/CodeGen/JITCodeEmitter.h
include/llvm/CodeGen/LiveInterval.h
include/llvm/CodeGen/MachineCodeEmitter.h
include/llvm/CodeGen/MachineConstantPool.h
include/llvm/CodeGen/MachineFunction.h
include/llvm/CodeGen/MachineInstr.h
include/llvm/CodeGen/ObjectCodeEmitter.h
include/llvm/GlobalValue.h
include/llvm/InlineAsm.h
include/llvm/Instruction.h
include/llvm/Linker.h
include/llvm/MC/MCSymbol.h
include/llvm/PassManagers.h
include/llvm/Support/IRBuilder.h
include/llvm/System/DynamicLibrary.h
include/llvm/System/Path.h
include/llvm/Target/Target.td
include/llvm/Target/TargetRegisterInfo.h
lib/Analysis/IPA/GlobalsModRef.cpp
lib/Analysis/LiveValues.cpp
lib/Analysis/MemoryBuiltins.cpp
lib/Analysis/ScalarEvolution.cpp
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfException.h
lib/CodeGen/CodePlacementOpt.cpp
lib/CodeGen/ExactHazardRecognizer.cpp
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/PBQP/HeuristicSolver.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
lib/CodeGen/SlotIndexes.cpp
lib/CodeGen/StrongPHIElimination.cpp
lib/CodeGen/VirtRegMap.cpp
lib/ExecutionEngine/JIT/JIT.cpp
lib/Support/APInt.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/PIC16/PIC16DebugInfo.cpp
lib/Target/PowerPC/PPCHazardRecognizers.cpp
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
lib/Target/SubtargetFeature.cpp
lib/Target/X86/README-SSE.txt
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrInfo.td
lib/Target/XCore/XCoreInstrInfo.td
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/IPO/PartialInlining.cpp
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
lib/Transforms/Scalar/IndVarSimplify.cpp
lib/Transforms/Scalar/Reassociate.cpp
lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
lib/VMCore/IRBuilder.cpp

index f6fa0c8d1e7725674bee9395777e03a64e28cd67..a7f42c9e37f2a85aa51f3ac9ad4b81dfaa1d159c 100644 (file)
@@ -72,7 +72,7 @@ Value *getMallocArraySize(CallInst *CI, const TargetData *TD,
 //  free Call Utility Functions.
 //
 
-/// isFreeCall - Returns true if the the value is a call to the builtin free()
+/// isFreeCall - Returns true if the value is a call to the builtin free()
 bool isFreeCall(const Value *I);
 
 } // End llvm namespace
index 2b1b85ea41364cb0d3b71f3e664b19541bab08a3..31d513cfb02113e3dcf2d415d2f98300ed6750f4 100644 (file)
@@ -291,7 +291,7 @@ private:
   /// EmitRecordWithAbbrevImpl - This is the core implementation of the record
   /// emission code.  If BlobData is non-null, then it specifies an array of
   /// data that should be emitted as part of the Blob or Array operand that is
-  /// known to exist at the end of the the record.
+  /// known to exist at the end of the record.
   template<typename uintty>
   void EmitRecordWithAbbrevImpl(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
                                 StringRef Blob) {
index 9c4e5b96707edf50fb35826c0bfe88eb46669fe4..525ce479164d647a8b65075de57ca62cedb2286b 100644 (file)
@@ -146,7 +146,7 @@ public:
     }
   }
 
-  /// emitAlignment - Move the CurBufferPtr pointer up the the specified
+  /// emitAlignment - Move the CurBufferPtr pointer up the specified
   /// alignment (saturated to BufferEnd of course).
   void emitAlignment(unsigned Alignment) {
     if (Alignment == 0) Alignment = 1;
index e31a7f0a25be4a7a3eaa99ee46743226cbb2ec2f..3d6c9bcd08450d626fb29a39198e06449f0b923f 100644 (file)
@@ -320,7 +320,7 @@ namespace llvm {
     /// advanceTo - Advance the specified iterator to point to the LiveRange
     /// containing the specified position, or end() if the position is past the
     /// end of the interval.  If no LiveRange contains this position, but the
-    /// position is in a hole, this method returns an iterator pointing the the
+    /// position is in a hole, this method returns an iterator pointing the
     /// LiveRange immediately after the hole.
     iterator advanceTo(iterator I, SlotIndex Pos) {
       if (Pos >= endIndex())
index d598a9387aee8e70529ffd35298219bea0c6a577..115aecc2b23f7c996d49019780cfbcff4be9d63a 100644 (file)
@@ -155,7 +155,7 @@ public:
     }
   }
 
-  /// emitAlignment - Move the CurBufferPtr pointer up the the specified
+  /// emitAlignment - Move the CurBufferPtr pointer up the specified
   /// alignment (saturated to BufferEnd of course).
   void emitAlignment(unsigned Alignment) {
     if (Alignment == 0) Alignment = 1;
index 8d6c1d1e4ca2c0f088ef981e8fb051aee0fe57da..e6698a525e161844a00aaf3217c48c51ce2c2fbc 100644 (file)
@@ -136,7 +136,7 @@ public:
     : TD(td), PoolAlignment(1) {}
   ~MachineConstantPool();
     
-  /// getConstantPoolAlignment - Return the the alignment required by
+  /// getConstantPoolAlignment - Return the alignment required by
   /// the whole constant pool, of which the first element must be aligned.
   unsigned getConstantPoolAlignment() const { return PoolAlignment; }
   
index ea31627c84ca0b20a47ef18922926b9c72a5e465..3c5b466da7bdb70d55a4c7de4e1c0d63b5f96dad 100644 (file)
@@ -330,7 +330,7 @@ public:
                                    bool NoImp = false);
 
   /// CloneMachineInstr - Create a new MachineInstr which is a copy of the
-  /// 'Orig' instruction, identical in all ways except the the instruction
+  /// 'Orig' instruction, identical in all ways except the instruction
   /// has no parent, prev, or next.
   ///
   /// See also TargetInstrInfo::duplicate() for target-specific fixes to cloned
index 1b2de76006f0efe2667afea58f274505e5ad5b54..6e33fb3e905e6cc4737a35cbd2518c0a1663eb35 100644 (file)
@@ -347,7 +347,7 @@ public:
 
   /// isInvariantLoad - Return true if this instruction is loading from a
   /// location whose value is invariant across the function.  For example,
-  /// loading a value from the constant pool or from from the argument area of
+  /// loading a value from the constant pool or from the argument area of
   /// a function if it does not change.  This should only return true of *all*
   /// loads the instruction does are invariant (if it does multiple loads).
   bool isInvariantLoad(AliasAnalysis *AA) const;
index 8252e07d84b164e8f4358bfd3c9722b3b7e5ccb5..3caa74725cd04495dba280af4d2c6beaa9acd931 100644 (file)
@@ -81,7 +81,7 @@ public:
   /// written to the data stream in big-endian format.
   void emitDWordBE(uint64_t W);
 
-  /// emitAlignment - Move the CurBufferPtr pointer up the the specified
+  /// emitAlignment - Move the CurBufferPtr pointer up the specified
   /// alignment (saturated to BufferEnd of course).
   void emitAlignment(unsigned Alignment = 0, uint8_t fill = 0);
 
index 1ac7eeea334d7631ccbf1c6b8ee27d0bfbba61a9..c15b55545166455ae15dc70dd26703ec6bc45779 100644 (file)
@@ -92,7 +92,7 @@ public:
   void setSection(StringRef S) { Section = S; }
   
   /// If the usage is empty (except transitively dead constants), then this
-  /// global value can can be safely deleted since the destructor will
+  /// global value can be safely deleted since the destructor will
   /// delete the dead constants as well.
   /// @brief Determine if the usage of this global value is empty except
   /// for transitively dead constants.
index 482e53e3fe24fcd052eeb967b7233502d9442c40..4490ce5a546cd7a8b47654c882355a857e574367 100644 (file)
@@ -39,7 +39,7 @@ class InlineAsm : public Value {
   virtual ~InlineAsm();
 public:
 
-  /// InlineAsm::get - Return the the specified uniqued inline asm string.
+  /// InlineAsm::get - Return the specified uniqued inline asm string.
   ///
   static InlineAsm *get(const FunctionType *Ty, StringRef AsmString,
                         StringRef Constraints, bool hasSideEffects,
index d45da974bc2859da3cd4ed4a910cfe31414927fc..cf9dc4456fa45b5421dd4b9e7018700d2f2ee7b7 100644 (file)
@@ -148,7 +148,7 @@ public:
       getAllMetadataImpl(MDs);
   }
   
-  /// setMetadata - Set the metadata of of the specified kind to the specified
+  /// setMetadata - Set the metadata of the specified kind to the specified
   /// node.  This updates/replaces metadata if already present, or removes it if
   /// Node is null.
   void setMetadata(unsigned KindID, MDNode *Node);
index a68a2e0fd3d0f8c72061205d7889d13e1a4be488..cc7bf88115c55852fa1aeab13596f2f78f694c84 100644 (file)
@@ -223,7 +223,7 @@ class Linker {
     /// the archive that resolve outstanding symbols will be linked in. The
     /// library is searched repeatedly until no more modules that resolve
     /// symbols can be found. If an error occurs, the error string is  set.
-    /// To speed up this function, ensure the the archive has been processed
+    /// To speed up this function, ensure the archive has been processed
     /// llvm-ranlib or the S option was given to llvm-ar when the archive was
     /// created. These tools add a symbol table to the archive which makes the
     /// search for undefined symbols much faster.
index e77060415f70bce518426d23de849a9a642943db..d5c4d95c183caed2b5ea010855c16333c4e33a33 100644 (file)
@@ -89,7 +89,7 @@ namespace llvm {
       return !isDefined();
     }
 
-    /// isAbsolute - Check if this this is an absolute symbol.
+    /// isAbsolute - Check if this is an absolute symbol.
     bool isAbsolute() const {
       return Section == AbsolutePseudoSection;
     }
index 443a9e02d2ad07da8ad720c0d56867e541fb1da0..d5685c664c23e79b2b9115f726984f7ca095b095 100644 (file)
@@ -394,8 +394,8 @@ private:
                          const AnalysisUsage::VectorType &Set) const;
 
   // Set of available Analysis. This information is used while scheduling 
-  // pass. If a pass requires an analysis which is not not available then 
-  // equired analysis pass is scheduled to run before the pass itself is 
+  // pass. If a pass requires an analysis which is not available then 
+  // the required analysis pass is scheduled to run before the pass itself is
   // scheduled to run.
   std::map<AnalysisID, Pass*> AvailableAnalysis;
 
index 9f0dce2ca046fdda4d3f7cf07e42ed2dc446a329..0139793c35f5912f679c1501b8108040a4c2d4bc 100644 (file)
@@ -94,7 +94,7 @@ public:
   //===--------------------------------------------------------------------===//
   
   /// CreateGlobalString - Make a new global variable with an initializer that
-  /// has array of i8 type filled in the the nul terminated string value
+  /// has array of i8 type filled in the nul terminated string value
   /// specified.  If Name is specified, it is the name of the global variable
   /// created.
   Value *CreateGlobalString(const char *Str = "", const Twine &Name = "");
index ac58407a194d6d523b4736e62199e834357ba968..745b8f8b5b4b11c29d138a9a6cc6675e069392f9 100644 (file)
@@ -23,7 +23,7 @@ namespace sys {
   /// might be known as shared libraries, shared objects, dynamic shared
   /// objects, or dynamic link libraries. Regardless of the terminology or the
   /// operating system interface, this class provides a portable interface that
-  /// allows dynamic libraries to be loaded and and searched for externally
+  /// allows dynamic libraries to be loaded and searched for externally
   /// defined symbols. This is typically used to provide "plug-in" support.
   /// It also allows for symbols to be defined which don't live in any library,
   /// but rather the main program itself, useful on Windows where the main
index bdfb9aa9b791fa680ce0259f86af20b16d99be94..1be27b27be05cc366915d70074b60682ba0f8d89 100644 (file)
@@ -28,7 +28,7 @@ namespace sys {
   /// platform independent and eliminates many of the unix-specific fields.
   /// However, to support llvm-ar, the mode, user, and group fields are
   /// retained. These pertain to unix security and may not have a meaningful
-  /// value on non-Unix platforms. However, the other fields fields should
+  /// value on non-Unix platforms. However, the other fields should
   /// always be applicable on all platforms.  The structure is filled in by
   /// the PathWithStatus class.
   /// @brief File status structure
index a1b7d7666243934a0b802d224cf5008df5d90f4f..9a117dff315142fac8070ba674168573938199b3 100644 (file)
@@ -376,7 +376,7 @@ class OptionalDefOperand<ValueType ty, dag OpTypes, dag defaultops>
 
 
 // InstrInfo - This class should only be instantiated once to provide parameters
-// which are global to the the target machine.
+// which are global to the target machine.
 //
 class InstrInfo {
   // If the target wants to associate some target-specific information with each
index 90469601d35b0af54674eb6fbe3843c3d6a18bd0..65b60f7a9366aa92847a6ff837ed62e17e420c9b 100644 (file)
@@ -169,7 +169,7 @@ public:
     return I;
   }
 
-  /// hasSubClass - return true if the the specified TargetRegisterClass
+  /// hasSubClass - return true if the specified TargetRegisterClass
   /// is a proper subset of this TargetRegisterClass.
   bool hasSubClass(const TargetRegisterClass *cs) const {
     for (int i = 0; SubClasses[i] != NULL; ++i)
index e803a488a80e32e437fc33a37be2da70403ad9de..ec94bc892b5febd577ec67238b61fc8368fd92a0 100644 (file)
@@ -486,7 +486,7 @@ GlobalsModRef::alias(const Value *V1, unsigned V1Size,
     if (GV1 && !NonAddressTakenGlobals.count(GV1)) GV1 = 0;
     if (GV2 && !NonAddressTakenGlobals.count(GV2)) GV2 = 0;
 
-    // If the the two pointers are derived from two different non-addr-taken
+    // If the two pointers are derived from two different non-addr-taken
     // globals, or if one is and the other isn't, we know these can't alias.
     if ((GV1 || GV2) && GV1 != GV2)
       return NoAlias;
index 02ec7d318ac7669cba1f804982bfad89ba3534c4..1b91d93c0e1ffda0db72136dde5e1efd1ba42cd5 100644 (file)
@@ -184,7 +184,7 @@ LiveValues::Memo &LiveValues::compute(const Value *V) {
     }
   }
 
-  // If the value was never used outside the the block in which it was
+  // If the value was never used outside the block in which it was
   // defined, it's killed in that block.
   if (!LiveOutOfDefBB)
     M.Killed.insert(DefBB);
index b4486283feea1c35b6d88493c7e32f79afbe226a..297b5880c4186d66d6f985c5d13ccbd125f2136b 100644 (file)
@@ -24,7 +24,7 @@ using namespace llvm;
 //  malloc Call Utility Functions.
 //
 
-/// isMalloc - Returns true if the the value is either a malloc call or a
+/// isMalloc - Returns true if the value is either a malloc call or a
 /// bitcast of the result of a malloc call.
 bool llvm::isMalloc(const Value *I) {
   return extractMallocCall(I) || extractMallocCallFromBitCast(I);
@@ -183,7 +183,7 @@ Value *llvm::getMallocArraySize(CallInst *CI, const TargetData *TD,
 //  free Call Utility Functions.
 //
 
-/// isFreeCall - Returns true if the the value is a call to the builtin free()
+/// isFreeCall - Returns true if the value is a call to the builtin free()
 bool llvm::isFreeCall(const Value *I) {
   const CallInst *CI = dyn_cast<CallInst>(I);
   if (!CI)
index 1fb966132bd576b9ad9c38064e18b3b887284545..82be9cd5c4e3f45e8105990c705abf8f4921f08a 100644 (file)
@@ -5032,7 +5032,7 @@ ScalarEvolution::HowManyLessThans(const SCEV *LHS, const SCEV *RHS,
     if (Step->isOne()) {
       // With unit stride, the iteration never steps past the limit value.
     } else if (isKnownPositive(Step)) {
-      // Test whether a positive iteration iteration can step past the limit
+      // Test whether a positive iteration can step past the limit
       // value and past the maximum value for its type in a single step.
       // Note that it's not sufficient to check NoWrap here, because even
       // though the value after a wrap is undefined, it's not undefined
index 9042147afb47677970eae2bf781ac08a1120dfdf..fc0838459388b7a1d071f49ae766f90ed0c5a70e 100644 (file)
@@ -302,7 +302,7 @@ void AsmPrinter::EmitFunctionHeader() {
     OutStreamer.GetCommentOS() << '\n';
   }
 
-  // Emit the CurrentFnSym.  This is is a virtual function to allow targets to
+  // Emit the CurrentFnSym.  This is a virtual function to allow targets to
   // do their wild and crazy things as required.
   EmitFunctionEntryLabel();
   
index 0182027a1386c436f555fbb5d45e50218368fe59..5093dd9a9c11b0a95576da16d14349407e718bb3 100644 (file)
@@ -618,7 +618,7 @@ void DwarfDebug::addComplexAddress(DbgVariable *&DV, DIE *Die,
 
    1).  Add the offset of the forwarding field.
 
-   2).  Follow that pointer to get the the real __Block_byref_x_VarName
+   2).  Follow that pointer to get the real __Block_byref_x_VarName
    struct to use (the real one may have been copied onto the heap).
 
    3).  Add the offset for the field VarName, to find the actual variable.
index be1a5f0d96224bcd89ee6d4d5470cf6b17d592f4..55baa921006645b12405830e29ba875d81896c28 100644 (file)
@@ -103,7 +103,7 @@ class DwarfDebug : public DwarfPrinter {
   ///
   SmallVector<std::pair<unsigned, unsigned>, 8> SourceIds;
 
-  /// Lines - List of of source line correspondence.
+  /// Lines - List of source line correspondence.
   std::vector<SrcLineInfo> Lines;
 
   /// DIEValues - A list of all the unique values in use.
index 89d55f7cfcdff4863528f38e5e846b0003d01ca7..06033a1a6f04e0889ff592cddfe7a3b2e1706d0d 100644 (file)
@@ -103,7 +103,7 @@ class DwarfException : public DwarfPrinter {
   ///     exception.  If it matches then the exception and type id are passed
   ///     on to the landing pad.  Otherwise the next action is looked up.  This
   ///     chain is terminated with a next action of zero.  If no type id is
-  ///     found the the frame is unwound and handling continues.
+  ///     found the frame is unwound and handling continues.
   ///  3. Type id table contains references to all the C++ typeinfo for all
   ///     catches in the function.  This tables is reversed indexed base 1.
 
index cbf5b891f8b9276074fab80ecc32f6208f0b269f..05a57d45343f85f7c55a2b9c9b579652feecfd37 100644 (file)
@@ -115,7 +115,7 @@ bool CodePlacementOpt::HasAnalyzableTerminator(MachineBasicBlock *MBB) {
   // Ask the target's AnalyzeBranch if it can handle this block.
   MachineBasicBlock *TBB = 0, *FBB = 0;
   SmallVector<MachineOperand, 4> Cond;
-  // Make the the terminator is understood.
+  // Make the terminator is understood.
   if (TII->AnalyzeBranch(*MBB, TBB, FBB, Cond))
     return false;
   // Make sure we have the option of reversing the condition.
index 266c74c9995ed542180b3a3d1e2cf1126e058d41..61959bba0e2314e368f1818499976b69de8d3787 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This implements a hazard recognizer using the instructions itineraries
+// This implements a hazard recognizer using the instructions itineraries
 // defined for the current target.
 //
 //===----------------------------------------------------------------------===//
index 97b86cb876dd929435ab1da7cf036dc336ac77bf..f141c567708798cc63da5d19da469b94b2a1c383 100644 (file)
@@ -187,7 +187,7 @@ MachineFunction::CreateMachineInstr(const TargetInstrDesc &TID,
 }
 
 /// CloneMachineInstr - Create a new MachineInstr which is a copy of the
-/// 'Orig' instruction, identical in all ways except the the instruction
+/// 'Orig' instruction, identical in all ways except the instruction
 /// has no parent, prev, or next.
 ///
 MachineInstr *
index 34f7781866bab387cca3660cf7b9cb914f741d37..df61c7457690685025f5900a14325194a244882e 100644 (file)
@@ -1034,7 +1034,7 @@ bool MachineInstr::hasVolatileMemoryRef() const {
 
 /// isInvariantLoad - Return true if this instruction is loading from a
 /// location whose value is invariant across the function.  For example,
-/// loading a value from the constant pool or from from the argument area
+/// loading a value from the constant pool or from the argument area
 /// of a function if it does not change.  This should only return true of
 /// *all* loads the instruction does are invariant (if it does multiple loads).
 bool MachineInstr::isInvariantLoad(AliasAnalysis *AA) const {
index 2d72b1fba1025f9054664e3e9b3368572897e25f..b48f548950d9dac1a89bbda5bfbd342d3fce06cc 100644 (file)
@@ -9,7 +9,7 @@
 //
 // Heuristic PBQP solver. This solver is able to perform optimal reductions for
 // nodes of degree 0, 1 or 2. For nodes of degree >2 a plugable heuristic is
-// used to to select a node for reduction. 
+// used to select a node for reduction. 
 //
 //===----------------------------------------------------------------------===//
 
index 10487dabd28b2a63fcad71f493adee1826dc93ef..9189e71a66f6c107e1a46a111bd2f10b6763b0e3 100644 (file)
@@ -2640,7 +2640,7 @@ SDValue DAGCombiner::visitSRA(SDNode *N) {
 
       // If the shift is not a no-op (in which case this should be just a sign
       // extend already), the truncated to type is legal, sign_extend is legal
-      // on that type, and the the truncate to that type is both legal and free,
+      // on that type, and the truncate to that type is both legal and free,
       // perform the transform.
       if ((ShiftAmt > 0) &&
           TLI.isOperationLegalOrCustom(ISD::SIGN_EXTEND, TruncVT) &&
index 12a4b31e5bf1919a3aa743d32f255bd7c55ef755..78e6e4ee9d958af07315e4d00822e2ec8acba770 100644 (file)
@@ -2767,7 +2767,7 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node,
                             DAG.getIntPtrConstant(1));
     } else {
       // FIXME: We should be able to fall back to a libcall with an illegal
-      // type in some cases cases.
+      // type in some cases.
       // Also, we can fall back to a division in some cases, but that's a big
       // performance hit in the general case.
       llvm_unreachable("Don't know how to expand this operation yet!");
index 24ac34c4e7fc00f5a8eadc33962ed2ada1dc29e2..de17f904d90c8da3be61cbb1a46ce8957388d138 100644 (file)
@@ -1349,7 +1349,7 @@ void SelectionDAGBuilder::visitJumpTableHeader(JumpTable &JT,
                             DAG.getConstant(JTH.First, VT));
 
   // The SDNode we just created, which holds the value being switched on minus
-  // the the smallest case value, needs to be copied to a virtual register so it
+  // the smallest case value, needs to be copied to a virtual register so it
   // can be used as an index into the jump table in a subsequent basic block.
   // This value may be smaller or larger than the target's pointer type, and
   // therefore require extension or truncating.
@@ -4865,7 +4865,7 @@ isAllocatableRegister(unsigned Reg, MachineFunction &MF,
     EVT ThisVT = MVT::Other;
 
     const TargetRegisterClass *RC = *RCI;
-    // If none of the the value types for this register class are valid, we
+    // If none of the value types for this register class are valid, we
     // can't use it.  For example, 64-bit reg classes on 32-bit targets.
     for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end();
          I != E; ++I) {
index f923927c43ec92ba54d80bdf955a28e523ee6aa8..d74ec7e2e5d696c06b4ec6bce230d77a188c4197 100644 (file)
@@ -2366,7 +2366,7 @@ getRegForInlineAsmConstraint(const std::string &Constraint,
        E = RI->regclass_end(); RCI != E; ++RCI) {
     const TargetRegisterClass *RC = *RCI;
     
-    // If none of the the value types for this register class are valid, we 
+    // If none of the value types for this register class are valid, we 
     // can't use it.  For example, 64-bit reg classes on 32-bit targets.
     bool isLegal = false;
     for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end();
index 1faa5a094a4e4679d2a2b9f95a5f818dda630174..1d9bda4ab0bd96ef174f8837510dcfe754064475 100644 (file)
@@ -197,7 +197,7 @@ bool SimpleRegisterCoalescing::AdjustCopiesBackFrom(LiveInterval &IntA,
 
   SlotIndex FillerStart = ValLR->end, FillerEnd = BLR->start;
   // We are about to delete CopyMI, so need to remove it as the 'instruction
-  // that defines this value #'. Update the the valnum with the new defining
+  // that defines this value #'. Update the valnum with the new defining
   // instruction #.
   BValNo->def  = FillerStart;
   BValNo->setCopy(0);
index e5a87f7df80a1bc796921cef875f7139a1e53ff0..6110ef5d2f058b084dc9f368ac7799b5300db004 100644 (file)
@@ -95,7 +95,7 @@ bool SlotIndexes::runOnMachineFunction(MachineFunction &fn) {
 
   push_back(createEntry(0, index));
 
-  // Iterate over the the function.
+  // Iterate over the function.
   for (MachineFunction::iterator mbbItr = mf->begin(), mbbEnd = mf->end();
        mbbItr != mbbEnd; ++mbbItr) {
     MachineBasicBlock *mbb = &*mbbItr;
index d68e0ad890b58286949c8e495cee6ba2c2dd610d..f8f6a55e9df62ff70aaae7bf5ab375e788730021 100644 (file)
@@ -49,7 +49,7 @@ namespace {
     std::map<unsigned, std::vector<unsigned> > Stacks;
     
     // Registers in UsedByAnother are PHI nodes that are themselves
-    // used as operands to another another PHI node
+    // used as operands to another PHI node
     std::set<unsigned> UsedByAnother;
     
     // RenameSets are the is a map from a PHI-defined register
index d4fb2e4d884217cde71a7489c00cef2a2ba4af98..5956b6141c2533d994a549359fa0ad64fcc513f1 100644 (file)
@@ -9,7 +9,7 @@
 //
 // This file implements the VirtRegMap class.
 //
-// It also contains implementations of the the Spiller interface, which, given a
+// It also contains implementations of the Spiller interface, which, given a
 // virtual register map and a machine function, eliminates all virtual
 // references by replacing them with physical register references - adding spill
 // code as necessary.
index 56a0bdde6bb72db6dc930b7fe8141a0ca916dcb6..616a66e18a4bc880f5a3b31332a940989665ce3f 100644 (file)
@@ -171,7 +171,7 @@ void DarwinRegisterFrame(void* FrameBegin) {
   ob->encoding.i = 0; 
   ob->encoding.b.encoding = llvm::dwarf::DW_EH_PE_omit;
   
-  // Put the info on both places, as libgcc uses the first or the the second
+  // Put the info on both places, as libgcc uses the first or the second
   // field. Note that we rely on having two pointers here. If fde_end was a
   // char, things would get complicated.
   ob->fde_end = (char*)LOI->unseenObjects;
index f41b31a883ca5d9ae6c3816aca40a5f307bd569b..3bce3f3ed3f3049a067e3e91183669fce37a6c26 100644 (file)
@@ -273,7 +273,7 @@ APInt& APInt::operator-=(const APInt& RHS) {
   return clearUnusedBits();
 }
 
-/// Multiplies an integer array, x by a a uint64_t integer and places the result
+/// Multiplies an integer array, x, by a uint64_t integer and places the result
 /// into dest.
 /// @returns the carry out of the multiplication.
 /// @brief Multiply a multi-digit APInt by a single digit (64-bit) integer.
@@ -1766,7 +1766,7 @@ void APInt::divide(const APInt LHS, unsigned lhsWords,
 
   // First, compose the values into an array of 32-bit words instead of
   // 64-bit words. This is a necessity of both the "short division" algorithm
-  // and the the Knuth "classical algorithm" which requires there to be native
+  // and the Knuth "classical algorithm" which requires there to be native
   // operations for +, -, and * on an m bit value with an m*2 bit result. We
   // can't use 64-bit operands here because we don't have native results of
   // 128-bits. Furthermore, casting the 64-bit values to 32-bit values won't
index f63398ec8592b31ada491c361b0d042dcb6f49d2..fd4c4e75711e779ca30bd0a1e4f3ae8c46af9b4d 100644 (file)
@@ -1841,7 +1841,7 @@ static SpecialGlobalClass getGlobalVariableClass(const GlobalVariable *GV) {
       return GlobalDtors;
   }
   
-  // Otherwise, it it is other metadata, don't print it.  This catches things
+  // Otherwise, if it is other metadata, don't print it.  This catches things
   // like debug information.
   if (GV->getSection() == "llvm.metadata")
     return NotPrinted;
@@ -3113,7 +3113,7 @@ void CWriter::visitCallInst(CallInst &I) {
 }
 
 /// visitBuiltinCall - Handle the call to the specified builtin.  Returns true
-/// if the entire call is handled, return false it it wasn't handled, and
+/// if the entire call is handled, return false if it wasn't handled, and
 /// optionally set 'WroteCallee' if the callee has already been printed out.
 bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
                                bool &WroteCallee) {
index 8368a3c142cea43debf9bf972690712a4728c82c..c517b1bff6e0934fd1c2f2b1e9194dd8bc3e7478 100644 (file)
@@ -68,7 +68,7 @@ void PIC16DbgInfo::PopulateDerivedTypeInfo (DIType Ty, unsigned short &TypeNo,
       TypeNo = TypeNo << PIC16Dbg::S_DERIVED;
   }
   
-  // We also need to encode the the information about the base type of
+  // We also need to encode the information about the base type of
   // pointer in TypeNo.
   DIType BaseType = DIDerivedType(Ty.getNode()).getTypeDerivedFrom();
   PopulateDebugInfo(BaseType, TypeNo, HasAux, Aux, TagName);
index 6af7e0ffbc1a0d30dcc445517c9818fc485ad2b1..3a15f7efdf29ba0f6f25a2887b8d6b40c8fe7fa3 100644 (file)
@@ -118,7 +118,7 @@ isLoadOfStoredAddress(unsigned LoadSize, SDValue Ptr1, SDValue Ptr2) const {
 }
 
 /// getHazardType - We return hazard for any non-branch instruction that would
-/// terminate terminate the dispatch group.  We turn NoopHazard for any
+/// terminate the dispatch group.  We turn NoopHazard for any
 /// instructions that wouldn't terminate the dispatch group that would cause a
 /// pipeline flush.
 ScheduleHazardRecognizer::HazardType PPCHazardRecognizer970::
index 32c1879cf713aea7b8b1d78f2067eccb63b5f1c2..004997fe8cdb9c0c7a296d5dfa5216df88ca0630 100644 (file)
@@ -199,7 +199,7 @@ void PPCDAGToDAGISel::InsertVRSaveCode(MachineFunction &Fn) {
   // Check to see if this function uses vector registers, which means we have to
   // save and restore the VRSAVE register and update it with the regs we use.  
   //
-  // In this case, there will be virtual registers of vector type type created
+  // In this case, there will be virtual registers of vector type created
   // by the scheduler.  Detect them now.
   bool HasVectorVReg = false;
   for (unsigned i = TargetRegisterInfo::FirstVirtualRegister, 
index 7cc4fd1d2637d2fcd52ba1f3f296eacd0cbcc1b1..2094cc945a42edfb32075fb525ea099d5d8589a0 100644 (file)
@@ -67,7 +67,7 @@ static void Split(std::vector<std::string> &V, const std::string &S) {
   while (true) {
     // Find the next comma
     size_t Comma = S.find(',', Pos);
-    // If no comma found then the the rest of the string is used
+    // If no comma found then the rest of the string is used
     if (Comma == std::string::npos) {
       // Add string to vector
       V.push_back(S.substr(Pos));
index 6e97ea6f9fc305d5766086374e07ed9fcb618376..19eb05e7657bfd64d1017a37933efce35c09ea1d 100644 (file)
@@ -376,7 +376,7 @@ ret
 ... saving two instructions.
 
 The basic idea is that a reload from a spill slot, can, if only one 4-byte 
-chunk is used, bring in 3 zeros the the one element instead of 4 elements.
+chunk is used, bring in 3 zeros the one element instead of 4 elements.
 This can be used to simplify a variety of shuffle operations, where the
 elements are fixed zeros.
 
index 9061337fd5486f6b0886a7fef04c4f5a14dd47c7..515bc84dadbb04b50658d357de65b4ec6c730a71 100644 (file)
@@ -2172,7 +2172,7 @@ X86TargetLowering::LowerCall(SDValue Chain, SDValue Callee,
   if (IsCalleePop(isVarArg, CallConv))
     NumBytesForCalleeToPush = NumBytes;    // Callee pops everything
   else if (!Is64Bit && CallConv != CallingConv::Fast && IsStructRet)
-    // If this is is a call to a struct-return function, the callee
+    // If this is a call to a struct-return function, the callee
     // pops the hidden struct pointer, so we have to push it back.
     // This is common for Darwin/X86, Linux & Mingw32 targets.
     NumBytesForCalleeToPush = 4;
index bc36d8e7e61d54c121174efc0152211c82b8e20d..f0b423923b4f225723d47993ccecf2ab577e4b71 100644 (file)
@@ -3704,7 +3704,7 @@ def MOVZX32rm16: I<0xB7, MRMSrcMem, (outs GR32:$dst), (ins i16mem:$src),
                    "movz{wl|x}\t{$src, $dst|$dst, $src}",
                    [(set GR32:$dst, (zextloadi32i16 addr:$src))]>, TB;
 
-// These are the same as the regular regular MOVZX32rr8 and MOVZX32rm8
+// These are the same as the regular MOVZX32rr8 and MOVZX32rm8
 // except that they use GR32_NOREX for the output operand register class
 // instead of GR32. This allows them to operate on h registers on x86-64.
 def MOVZX32_NOREXrr8 : I<0xB6, MRMSrcReg,
index d4ae49e4690fad63e2bd86db5d00df343b132dc0..10dc18cfead08a0443c3d857f32f9fab88b98cb7 100644 (file)
@@ -686,7 +686,7 @@ def LDAP_lu10_ba : _FLU10<(outs),
                           [(set R11, (pcrelwrapper tblockaddress:$addr))]>;
 
 let isCall=1,
-// All calls clobber the the link register and the non-callee-saved registers:
+// All calls clobber the link register and the non-callee-saved registers:
 Defs = [R0, R1, R2, R3, R11, LR] in {
 def BL_u10 : _FU10<
                   (outs),
@@ -779,7 +779,7 @@ def ECALLF_1r : _F1R<(outs), (ins GRRegs:$src),
                  []>;
 
 let isCall=1, 
-// All calls clobber the the link register and the non-callee-saved registers:
+// All calls clobber the link register and the non-callee-saved registers:
 Defs = [R0, R1, R2, R3, R11, LR] in {
 def BLA_1r : _F1R<(outs), (ins GRRegs:$addr, variable_ops),
                  "bla $addr",
index d8190a43e10dd8fa1c66d9104b857b2e919c37e5..325d353f39fd49363eb3de94c6147205c3ce8e2c 100644 (file)
@@ -247,7 +247,7 @@ static bool PrefixIn(const ArgPromotion::IndicesVector &Indices,
     return Low != Set.end() && IsPrefix(*Low, Indices);
 }
 
-/// Mark the given indices (ToMark) as safe in the the given set of indices
+/// Mark the given indices (ToMark) as safe in the given set of indices
 /// (Safe). Marking safe usually means adding ToMark to Safe. However, if there
 /// is already a prefix of Indices in Safe, Indices are implicitely marked safe
 /// already. Furthermore, any indices that Indices is itself a prefix of, are
index f40902ffa2fd58a1e626706f3defb4bacd70830c..f8ec722273807034ff7825917dcf93060f130cb7 100644 (file)
@@ -117,7 +117,7 @@ Function* PartialInliner::unswitchFunction(Function* F) {
   DominatorTree DT;
   DT.runOnFunction(*duplicateFunction);
   
-  // Extract the body of the the if.
+  // Extract the body of the if.
   Function* extractedFunction = ExtractCodeRegion(DT, toExtract);
   
   // Inline the top-level if test into all callers.
index 1f86a8ec6ef1dd94a0336f23c8475307f22d969e..28fd70ef69ff8228b6e91107e67dd87923fedc60 100644 (file)
@@ -546,7 +546,7 @@ Instruction *InstCombiner::FoldAndOfICmps(Instruction &I,
     std::swap(LHSCC, RHSCC);
   }
 
-  // At this point, we know we have have two icmp instructions
+  // At this point, we know we have two icmp instructions
   // comparing a value against two constants and and'ing the result
   // together.  Because of the above check, we know that we only have
   // icmp eq, icmp ne, icmp [su]lt, and icmp [SU]gt here. We also know 
@@ -1226,7 +1226,7 @@ Instruction *InstCombiner::FoldOrOfICmps(Instruction &I,
     std::swap(LHSCC, RHSCC);
   }
   
-  // At this point, we know we have have two icmp instructions
+  // At this point, we know we have two icmp instructions
   // comparing a value against two constants and or'ing the result
   // together.  Because of the above check, we know that we only have
   // ICMP_EQ, ICMP_NE, ICMP_LT, and ICMP_GT here. We also know (from the
index 17f7d985097aced8e0f9e439f9eaab2ab9c9bf3f..c54f596f2ccad840f0d68ce785736584e3f1dd10 100644 (file)
@@ -380,7 +380,7 @@ bool IndVarSimplify::runOnLoop(Loop *L, LPPassManager &LPM) {
       NeedCannIV = true;
   }
 
-  // Now that we know the largest of of the induction variable expressions
+  // Now that we know the largest of the induction variable expressions
   // in this loop, insert a canonical induction variable of the largest size.
   Value *IndVar = 0;
   if (NeedCannIV) {
index 1decde13b8344b0b280492d7b26a0cba786d6705..bbd4b451fbcda308815db9dccde66902875ac876 100644 (file)
@@ -249,7 +249,7 @@ void Reassociate::LinearizeExpr(BinaryOperator *I) {
 
 /// LinearizeExprTree - Given an associative binary expression tree, traverse
 /// all of the uses putting it into canonical form.  This forces a left-linear
-/// form of the the expression (((a+b)+c)+d), and collects information about the
+/// form of the expression (((a+b)+c)+d), and collects information about the
 /// rank of the non-tree operands.
 ///
 /// NOTE: These intentionally destroys the expression tree operands (turning
@@ -299,7 +299,7 @@ void Reassociate::LinearizeExprTree(BinaryOperator *I,
     Success = false;
     MadeChange = true;
   } else if (RHSBO) {
-    // Turn (A+B)+(C+D) -> (((A+B)+C)+D).  This guarantees the the RHS is not
+    // Turn (A+B)+(C+D) -> (((A+B)+C)+D).  This guarantees the RHS is not
     // part of the expression tree.
     LinearizeExpr(I);
     LHS = LHSBO = cast<BinaryOperator>(I->getOperand(0));
index 5acd6aa5e1276befef13c4bb42539404125be963..4464961a0799757ce07ec62936792fc9e2d3b8b4 100644 (file)
@@ -68,7 +68,7 @@ InlineHalfPowrs(const std::vector<Instruction *> &HalfPowrs,
     Function *Callee = Call->getCalledFunction();
 
     // Minimally sanity-check the CFG of half_powr to ensure that it contains
-    // the the kind of code we expect.  If we're running this pass, we have
+    // the kind of code we expect.  If we're running this pass, we have
     // reason to believe it will be what we expect.
     Function::iterator I = Callee->begin();
     BasicBlock *Prologue = I++;
index 699bf0f6535e33ce23646c7d605f25748c46d360..4bc3cbb2d6e98c80e75bcd7563dabed1931b323c 100644 (file)
@@ -19,7 +19,7 @@
 using namespace llvm;
 
 /// CreateGlobalString - Make a new global variable with an initializer that
-/// has array of i8 type filled in the the nul terminated string value
+/// has array of i8 type filled in the nul terminated string value
 /// specified.  If Name is specified, it is the name of the global variable
 /// created.
 Value *IRBuilderBase::CreateGlobalString(const char *Str, const Twine &Name) {