Fix "the the" and similar typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-02-10 16:03:48 +00:00
parent c056baed87
commit f451cb870e
59 changed files with 67 additions and 67 deletions

View File

@ -72,7 +72,7 @@ Value *getMallocArraySize(CallInst *CI, const TargetData *TD,
// free Call Utility Functions. // 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); bool isFreeCall(const Value *I);
} // End llvm namespace } // End llvm namespace

View File

@ -291,7 +291,7 @@ private:
/// EmitRecordWithAbbrevImpl - This is the core implementation of the record /// EmitRecordWithAbbrevImpl - This is the core implementation of the record
/// emission code. If BlobData is non-null, then it specifies an array of /// 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 /// 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> template<typename uintty>
void EmitRecordWithAbbrevImpl(unsigned Abbrev, SmallVectorImpl<uintty> &Vals, void EmitRecordWithAbbrevImpl(unsigned Abbrev, SmallVectorImpl<uintty> &Vals,
StringRef Blob) { StringRef Blob) {

View 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). /// alignment (saturated to BufferEnd of course).
void emitAlignment(unsigned Alignment) { void emitAlignment(unsigned Alignment) {
if (Alignment == 0) Alignment = 1; if (Alignment == 0) Alignment = 1;

View File

@ -320,7 +320,7 @@ namespace llvm {
/// advanceTo - Advance the specified iterator to point to the LiveRange /// advanceTo - Advance the specified iterator to point to the LiveRange
/// containing the specified position, or end() if the position is past the /// containing the specified position, or end() if the position is past the
/// end of the interval. If no LiveRange contains this position, but 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. /// LiveRange immediately after the hole.
iterator advanceTo(iterator I, SlotIndex Pos) { iterator advanceTo(iterator I, SlotIndex Pos) {
if (Pos >= endIndex()) if (Pos >= endIndex())

View 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). /// alignment (saturated to BufferEnd of course).
void emitAlignment(unsigned Alignment) { void emitAlignment(unsigned Alignment) {
if (Alignment == 0) Alignment = 1; if (Alignment == 0) Alignment = 1;

View File

@ -136,7 +136,7 @@ public:
: TD(td), PoolAlignment(1) {} : TD(td), PoolAlignment(1) {}
~MachineConstantPool(); ~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. /// the whole constant pool, of which the first element must be aligned.
unsigned getConstantPoolAlignment() const { return PoolAlignment; } unsigned getConstantPoolAlignment() const { return PoolAlignment; }

View File

@ -330,7 +330,7 @@ public:
bool NoImp = false); bool NoImp = false);
/// CloneMachineInstr - Create a new MachineInstr which is a copy of the /// 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. /// has no parent, prev, or next.
/// ///
/// See also TargetInstrInfo::duplicate() for target-specific fixes to cloned /// See also TargetInstrInfo::duplicate() for target-specific fixes to cloned

View File

@ -347,7 +347,7 @@ public:
/// isInvariantLoad - Return true if this instruction is loading from a /// isInvariantLoad - Return true if this instruction is loading from a
/// location whose value is invariant across the function. For example, /// 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* /// 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). /// loads the instruction does are invariant (if it does multiple loads).
bool isInvariantLoad(AliasAnalysis *AA) const; bool isInvariantLoad(AliasAnalysis *AA) const;

View File

@ -81,7 +81,7 @@ public:
/// written to the data stream in big-endian format. /// written to the data stream in big-endian format.
void emitDWordBE(uint64_t W); 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). /// alignment (saturated to BufferEnd of course).
void emitAlignment(unsigned Alignment = 0, uint8_t fill = 0); void emitAlignment(unsigned Alignment = 0, uint8_t fill = 0);

View File

@ -92,7 +92,7 @@ public:
void setSection(StringRef S) { Section = S; } void setSection(StringRef S) { Section = S; }
/// If the usage is empty (except transitively dead constants), then this /// 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. /// delete the dead constants as well.
/// @brief Determine if the usage of this global value is empty except /// @brief Determine if the usage of this global value is empty except
/// for transitively dead constants. /// for transitively dead constants.

View File

@ -39,7 +39,7 @@ class InlineAsm : public Value {
virtual ~InlineAsm(); virtual ~InlineAsm();
public: 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, static InlineAsm *get(const FunctionType *Ty, StringRef AsmString,
StringRef Constraints, bool hasSideEffects, StringRef Constraints, bool hasSideEffects,

View File

@ -148,7 +148,7 @@ public:
getAllMetadataImpl(MDs); 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. This updates/replaces metadata if already present, or removes it if
/// Node is null. /// Node is null.
void setMetadata(unsigned KindID, MDNode *Node); void setMetadata(unsigned KindID, MDNode *Node);

View File

@ -223,7 +223,7 @@ class Linker {
/// the archive that resolve outstanding symbols will be linked in. The /// the archive that resolve outstanding symbols will be linked in. The
/// library is searched repeatedly until no more modules that resolve /// library is searched repeatedly until no more modules that resolve
/// symbols can be found. If an error occurs, the error string is set. /// 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 /// 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 /// created. These tools add a symbol table to the archive which makes the
/// search for undefined symbols much faster. /// search for undefined symbols much faster.

View File

@ -89,7 +89,7 @@ namespace llvm {
return !isDefined(); return !isDefined();
} }
/// isAbsolute - Check if this this is an absolute symbol. /// isAbsolute - Check if this is an absolute symbol.
bool isAbsolute() const { bool isAbsolute() const {
return Section == AbsolutePseudoSection; return Section == AbsolutePseudoSection;
} }

View File

@ -394,8 +394,8 @@ private:
const AnalysisUsage::VectorType &Set) const; const AnalysisUsage::VectorType &Set) const;
// Set of available Analysis. This information is used while scheduling // Set of available Analysis. This information is used while scheduling
// pass. If a pass requires an analysis which is not not available then // pass. If a pass requires an analysis which is not available then
// equired analysis pass is scheduled to run before the pass itself is // the required analysis pass is scheduled to run before the pass itself is
// scheduled to run. // scheduled to run.
std::map<AnalysisID, Pass*> AvailableAnalysis; std::map<AnalysisID, Pass*> AvailableAnalysis;

View File

@ -94,7 +94,7 @@ public:
//===--------------------------------------------------------------------===// //===--------------------------------------------------------------------===//
/// CreateGlobalString - Make a new global variable with an initializer that /// 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 /// specified. If Name is specified, it is the name of the global variable
/// created. /// created.
Value *CreateGlobalString(const char *Str = "", const Twine &Name = ""); Value *CreateGlobalString(const char *Str = "", const Twine &Name = "");

View File

@ -23,7 +23,7 @@ namespace sys {
/// might be known as shared libraries, shared objects, dynamic shared /// might be known as shared libraries, shared objects, dynamic shared
/// objects, or dynamic link libraries. Regardless of the terminology or the /// objects, or dynamic link libraries. Regardless of the terminology or the
/// operating system interface, this class provides a portable interface that /// 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. /// 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, /// 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 /// but rather the main program itself, useful on Windows where the main

View File

@ -28,7 +28,7 @@ namespace sys {
/// platform independent and eliminates many of the unix-specific fields. /// platform independent and eliminates many of the unix-specific fields.
/// However, to support llvm-ar, the mode, user, and group fields are /// However, to support llvm-ar, the mode, user, and group fields are
/// retained. These pertain to unix security and may not have a meaningful /// 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 /// always be applicable on all platforms. The structure is filled in by
/// the PathWithStatus class. /// the PathWithStatus class.
/// @brief File status structure /// @brief File status structure

View File

@ -376,7 +376,7 @@ class OptionalDefOperand<ValueType ty, dag OpTypes, dag defaultops>
// InstrInfo - This class should only be instantiated once to provide parameters // 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 { class InstrInfo {
// If the target wants to associate some target-specific information with each // If the target wants to associate some target-specific information with each

View File

@ -169,7 +169,7 @@ public:
return I; return I;
} }
/// hasSubClass - return true if the the specified TargetRegisterClass /// hasSubClass - return true if the specified TargetRegisterClass
/// is a proper subset of this TargetRegisterClass. /// is a proper subset of this TargetRegisterClass.
bool hasSubClass(const TargetRegisterClass *cs) const { bool hasSubClass(const TargetRegisterClass *cs) const {
for (int i = 0; SubClasses[i] != NULL; ++i) for (int i = 0; SubClasses[i] != NULL; ++i)

View File

@ -486,7 +486,7 @@ GlobalsModRef::alias(const Value *V1, unsigned V1Size,
if (GV1 && !NonAddressTakenGlobals.count(GV1)) GV1 = 0; if (GV1 && !NonAddressTakenGlobals.count(GV1)) GV1 = 0;
if (GV2 && !NonAddressTakenGlobals.count(GV2)) GV2 = 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. // globals, or if one is and the other isn't, we know these can't alias.
if ((GV1 || GV2) && GV1 != GV2) if ((GV1 || GV2) && GV1 != GV2)
return NoAlias; return NoAlias;

View 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. // defined, it's killed in that block.
if (!LiveOutOfDefBB) if (!LiveOutOfDefBB)
M.Killed.insert(DefBB); M.Killed.insert(DefBB);

View File

@ -24,7 +24,7 @@ using namespace llvm;
// malloc Call Utility Functions. // 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. /// bitcast of the result of a malloc call.
bool llvm::isMalloc(const Value *I) { bool llvm::isMalloc(const Value *I) {
return extractMallocCall(I) || extractMallocCallFromBitCast(I); return extractMallocCall(I) || extractMallocCallFromBitCast(I);
@ -183,7 +183,7 @@ Value *llvm::getMallocArraySize(CallInst *CI, const TargetData *TD,
// free Call Utility Functions. // 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) { bool llvm::isFreeCall(const Value *I) {
const CallInst *CI = dyn_cast<CallInst>(I); const CallInst *CI = dyn_cast<CallInst>(I);
if (!CI) if (!CI)

View File

@ -5032,7 +5032,7 @@ ScalarEvolution::HowManyLessThans(const SCEV *LHS, const SCEV *RHS,
if (Step->isOne()) { if (Step->isOne()) {
// With unit stride, the iteration never steps past the limit value. // With unit stride, the iteration never steps past the limit value.
} else if (isKnownPositive(Step)) { } 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. // 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 // Note that it's not sufficient to check NoWrap here, because even
// though the value after a wrap is undefined, it's not undefined // though the value after a wrap is undefined, it's not undefined

View File

@ -302,7 +302,7 @@ void AsmPrinter::EmitFunctionHeader() {
OutStreamer.GetCommentOS() << '\n'; 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. // do their wild and crazy things as required.
EmitFunctionEntryLabel(); EmitFunctionEntryLabel();

View File

@ -618,7 +618,7 @@ void DwarfDebug::addComplexAddress(DbgVariable *&DV, DIE *Die,
1). Add the offset of the forwarding field. 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). 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. 3). Add the offset for the field VarName, to find the actual variable.

View File

@ -103,7 +103,7 @@ class DwarfDebug : public DwarfPrinter {
/// ///
SmallVector<std::pair<unsigned, unsigned>, 8> SourceIds; SmallVector<std::pair<unsigned, unsigned>, 8> SourceIds;
/// Lines - List of of source line correspondence. /// Lines - List of source line correspondence.
std::vector<SrcLineInfo> Lines; std::vector<SrcLineInfo> Lines;
/// DIEValues - A list of all the unique values in use. /// DIEValues - A list of all the unique values in use.

View File

@ -103,7 +103,7 @@ class DwarfException : public DwarfPrinter {
/// exception. If it matches then the exception and type id are passed /// 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 /// 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 /// 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 /// 3. Type id table contains references to all the C++ typeinfo for all
/// catches in the function. This tables is reversed indexed base 1. /// catches in the function. This tables is reversed indexed base 1.

View File

@ -115,7 +115,7 @@ bool CodePlacementOpt::HasAnalyzableTerminator(MachineBasicBlock *MBB) {
// Ask the target's AnalyzeBranch if it can handle this block. // Ask the target's AnalyzeBranch if it can handle this block.
MachineBasicBlock *TBB = 0, *FBB = 0; MachineBasicBlock *TBB = 0, *FBB = 0;
SmallVector<MachineOperand, 4> Cond; SmallVector<MachineOperand, 4> Cond;
// Make the the terminator is understood. // Make the terminator is understood.
if (TII->AnalyzeBranch(*MBB, TBB, FBB, Cond)) if (TII->AnalyzeBranch(*MBB, TBB, FBB, Cond))
return false; return false;
// Make sure we have the option of reversing the condition. // Make sure we have the option of reversing the condition.

View File

@ -7,7 +7,7 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// //
// This implements a a hazard recognizer using the instructions itineraries // This implements a hazard recognizer using the instructions itineraries
// defined for the current target. // defined for the current target.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -187,7 +187,7 @@ MachineFunction::CreateMachineInstr(const TargetInstrDesc &TID,
} }
/// CloneMachineInstr - Create a new MachineInstr which is a copy of the /// 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. /// has no parent, prev, or next.
/// ///
MachineInstr * MachineInstr *

View File

@ -1034,7 +1034,7 @@ bool MachineInstr::hasVolatileMemoryRef() const {
/// isInvariantLoad - Return true if this instruction is loading from a /// isInvariantLoad - Return true if this instruction is loading from a
/// location whose value is invariant across the function. For example, /// 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 /// 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). /// *all* loads the instruction does are invariant (if it does multiple loads).
bool MachineInstr::isInvariantLoad(AliasAnalysis *AA) const { bool MachineInstr::isInvariantLoad(AliasAnalysis *AA) const {

View File

@ -9,7 +9,7 @@
// //
// Heuristic PBQP solver. This solver is able to perform optimal reductions for // 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 // 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.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View 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 // 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 // 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. // perform the transform.
if ((ShiftAmt > 0) && if ((ShiftAmt > 0) &&
TLI.isOperationLegalOrCustom(ISD::SIGN_EXTEND, TruncVT) && TLI.isOperationLegalOrCustom(ISD::SIGN_EXTEND, TruncVT) &&

View File

@ -2767,7 +2767,7 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node,
DAG.getIntPtrConstant(1)); DAG.getIntPtrConstant(1));
} else { } else {
// FIXME: We should be able to fall back to a libcall with an illegal // 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 // Also, we can fall back to a division in some cases, but that's a big
// performance hit in the general case. // performance hit in the general case.
llvm_unreachable("Don't know how to expand this operation yet!"); llvm_unreachable("Don't know how to expand this operation yet!");

View File

@ -1349,7 +1349,7 @@ void SelectionDAGBuilder::visitJumpTableHeader(JumpTable &JT,
DAG.getConstant(JTH.First, VT)); DAG.getConstant(JTH.First, VT));
// The SDNode we just created, which holds the value being switched on minus // 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. // 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 // This value may be smaller or larger than the target's pointer type, and
// therefore require extension or truncating. // therefore require extension or truncating.
@ -4865,7 +4865,7 @@ isAllocatableRegister(unsigned Reg, MachineFunction &MF,
EVT ThisVT = MVT::Other; EVT ThisVT = MVT::Other;
const TargetRegisterClass *RC = *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. // 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(); for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end();
I != E; ++I) { I != E; ++I) {

View File

@ -2366,7 +2366,7 @@ getRegForInlineAsmConstraint(const std::string &Constraint,
E = RI->regclass_end(); RCI != E; ++RCI) { E = RI->regclass_end(); RCI != E; ++RCI) {
const TargetRegisterClass *RC = *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. // can't use it. For example, 64-bit reg classes on 32-bit targets.
bool isLegal = false; bool isLegal = false;
for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end(); for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end();

View File

@ -197,7 +197,7 @@ bool SimpleRegisterCoalescing::AdjustCopiesBackFrom(LiveInterval &IntA,
SlotIndex FillerStart = ValLR->end, FillerEnd = BLR->start; SlotIndex FillerStart = ValLR->end, FillerEnd = BLR->start;
// We are about to delete CopyMI, so need to remove it as the 'instruction // 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 #. // instruction #.
BValNo->def = FillerStart; BValNo->def = FillerStart;
BValNo->setCopy(0); BValNo->setCopy(0);

View File

@ -95,7 +95,7 @@ bool SlotIndexes::runOnMachineFunction(MachineFunction &fn) {
push_back(createEntry(0, index)); push_back(createEntry(0, index));
// Iterate over the the function. // Iterate over the function.
for (MachineFunction::iterator mbbItr = mf->begin(), mbbEnd = mf->end(); for (MachineFunction::iterator mbbItr = mf->begin(), mbbEnd = mf->end();
mbbItr != mbbEnd; ++mbbItr) { mbbItr != mbbEnd; ++mbbItr) {
MachineBasicBlock *mbb = &*mbbItr; MachineBasicBlock *mbb = &*mbbItr;

View File

@ -49,7 +49,7 @@ namespace {
std::map<unsigned, std::vector<unsigned> > Stacks; std::map<unsigned, std::vector<unsigned> > Stacks;
// Registers in UsedByAnother are PHI nodes that are themselves // 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; std::set<unsigned> UsedByAnother;
// RenameSets are the is a map from a PHI-defined register // RenameSets are the is a map from a PHI-defined register

View File

@ -9,7 +9,7 @@
// //
// This file implements the VirtRegMap class. // 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 // virtual register map and a machine function, eliminates all virtual
// references by replacing them with physical register references - adding spill // references by replacing them with physical register references - adding spill
// code as necessary. // code as necessary.

View File

@ -171,7 +171,7 @@ void DarwinRegisterFrame(void* FrameBegin) {
ob->encoding.i = 0; ob->encoding.i = 0;
ob->encoding.b.encoding = llvm::dwarf::DW_EH_PE_omit; 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 // field. Note that we rely on having two pointers here. If fde_end was a
// char, things would get complicated. // char, things would get complicated.
ob->fde_end = (char*)LOI->unseenObjects; ob->fde_end = (char*)LOI->unseenObjects;

View File

@ -273,7 +273,7 @@ APInt& APInt::operator-=(const APInt& RHS) {
return clearUnusedBits(); 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. /// into dest.
/// @returns the carry out of the multiplication. /// @returns the carry out of the multiplication.
/// @brief Multiply a multi-digit APInt by a single digit (64-bit) integer. /// @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 // 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 // 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 // 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 // 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 // 128-bits. Furthermore, casting the 64-bit values to 32-bit values won't

View File

@ -1841,7 +1841,7 @@ static SpecialGlobalClass getGlobalVariableClass(const GlobalVariable *GV) {
return GlobalDtors; 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. // like debug information.
if (GV->getSection() == "llvm.metadata") if (GV->getSection() == "llvm.metadata")
return NotPrinted; return NotPrinted;
@ -3113,7 +3113,7 @@ void CWriter::visitCallInst(CallInst &I) {
} }
/// visitBuiltinCall - Handle the call to the specified builtin. Returns true /// 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. /// optionally set 'WroteCallee' if the callee has already been printed out.
bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID, bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
bool &WroteCallee) { bool &WroteCallee) {

View File

@ -68,7 +68,7 @@ void PIC16DbgInfo::PopulateDerivedTypeInfo (DIType Ty, unsigned short &TypeNo,
TypeNo = TypeNo << PIC16Dbg::S_DERIVED; 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. // pointer in TypeNo.
DIType BaseType = DIDerivedType(Ty.getNode()).getTypeDerivedFrom(); DIType BaseType = DIDerivedType(Ty.getNode()).getTypeDerivedFrom();
PopulateDebugInfo(BaseType, TypeNo, HasAux, Aux, TagName); PopulateDebugInfo(BaseType, TypeNo, HasAux, Aux, TagName);

View File

@ -118,7 +118,7 @@ isLoadOfStoredAddress(unsigned LoadSize, SDValue Ptr1, SDValue Ptr2) const {
} }
/// getHazardType - We return hazard for any non-branch instruction that would /// 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 /// instructions that wouldn't terminate the dispatch group that would cause a
/// pipeline flush. /// pipeline flush.
ScheduleHazardRecognizer::HazardType PPCHazardRecognizer970:: ScheduleHazardRecognizer::HazardType PPCHazardRecognizer970::

View File

@ -199,7 +199,7 @@ void PPCDAGToDAGISel::InsertVRSaveCode(MachineFunction &Fn) {
// Check to see if this function uses vector registers, which means we have to // 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. // 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. // by the scheduler. Detect them now.
bool HasVectorVReg = false; bool HasVectorVReg = false;
for (unsigned i = TargetRegisterInfo::FirstVirtualRegister, for (unsigned i = TargetRegisterInfo::FirstVirtualRegister,

View File

@ -67,7 +67,7 @@ static void Split(std::vector<std::string> &V, const std::string &S) {
while (true) { while (true) {
// Find the next comma // Find the next comma
size_t Comma = S.find(',', Pos); 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) { if (Comma == std::string::npos) {
// Add string to vector // Add string to vector
V.push_back(S.substr(Pos)); V.push_back(S.substr(Pos));

View File

@ -376,7 +376,7 @@ ret
... saving two instructions. ... saving two instructions.
The basic idea is that a reload from a spill slot, can, if only one 4-byte 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 This can be used to simplify a variety of shuffle operations, where the
elements are fixed zeros. elements are fixed zeros.

View File

@ -2172,7 +2172,7 @@ X86TargetLowering::LowerCall(SDValue Chain, SDValue Callee,
if (IsCalleePop(isVarArg, CallConv)) if (IsCalleePop(isVarArg, CallConv))
NumBytesForCalleeToPush = NumBytes; // Callee pops everything NumBytesForCalleeToPush = NumBytes; // Callee pops everything
else if (!Is64Bit && CallConv != CallingConv::Fast && IsStructRet) 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. // pops the hidden struct pointer, so we have to push it back.
// This is common for Darwin/X86, Linux & Mingw32 targets. // This is common for Darwin/X86, Linux & Mingw32 targets.
NumBytesForCalleeToPush = 4; NumBytesForCalleeToPush = 4;

View File

@ -3704,7 +3704,7 @@ def MOVZX32rm16: I<0xB7, MRMSrcMem, (outs GR32:$dst), (ins i16mem:$src),
"movz{wl|x}\t{$src, $dst|$dst, $src}", "movz{wl|x}\t{$src, $dst|$dst, $src}",
[(set GR32:$dst, (zextloadi32i16 addr:$src))]>, TB; [(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 // 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. // instead of GR32. This allows them to operate on h registers on x86-64.
def MOVZX32_NOREXrr8 : I<0xB6, MRMSrcReg, def MOVZX32_NOREXrr8 : I<0xB6, MRMSrcReg,

View File

@ -686,7 +686,7 @@ def LDAP_lu10_ba : _FLU10<(outs),
[(set R11, (pcrelwrapper tblockaddress:$addr))]>; [(set R11, (pcrelwrapper tblockaddress:$addr))]>;
let isCall=1, 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 { Defs = [R0, R1, R2, R3, R11, LR] in {
def BL_u10 : _FU10< def BL_u10 : _FU10<
(outs), (outs),
@ -779,7 +779,7 @@ def ECALLF_1r : _F1R<(outs), (ins GRRegs:$src),
[]>; []>;
let isCall=1, 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 { Defs = [R0, R1, R2, R3, R11, LR] in {
def BLA_1r : _F1R<(outs), (ins GRRegs:$addr, variable_ops), def BLA_1r : _F1R<(outs), (ins GRRegs:$addr, variable_ops),
"bla $addr", "bla $addr",

View File

@ -247,7 +247,7 @@ static bool PrefixIn(const ArgPromotion::IndicesVector &Indices,
return Low != Set.end() && IsPrefix(*Low, 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 /// (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 /// 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 /// already. Furthermore, any indices that Indices is itself a prefix of, are

View File

@ -117,7 +117,7 @@ Function* PartialInliner::unswitchFunction(Function* F) {
DominatorTree DT; DominatorTree DT;
DT.runOnFunction(*duplicateFunction); DT.runOnFunction(*duplicateFunction);
// Extract the body of the the if. // Extract the body of the if.
Function* extractedFunction = ExtractCodeRegion(DT, toExtract); Function* extractedFunction = ExtractCodeRegion(DT, toExtract);
// Inline the top-level if test into all callers. // Inline the top-level if test into all callers.

View File

@ -546,7 +546,7 @@ Instruction *InstCombiner::FoldAndOfICmps(Instruction &I,
std::swap(LHSCC, RHSCC); 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 // comparing a value against two constants and and'ing the result
// together. Because of the above check, we know that we only have // 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 // 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); 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 // comparing a value against two constants and or'ing the result
// together. Because of the above check, we know that we only have // 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 // ICMP_EQ, ICMP_NE, ICMP_LT, and ICMP_GT here. We also know (from the

View File

@ -380,7 +380,7 @@ bool IndVarSimplify::runOnLoop(Loop *L, LPPassManager &LPM) {
NeedCannIV = true; 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. // in this loop, insert a canonical induction variable of the largest size.
Value *IndVar = 0; Value *IndVar = 0;
if (NeedCannIV) { if (NeedCannIV) {

View File

@ -249,7 +249,7 @@ void Reassociate::LinearizeExpr(BinaryOperator *I) {
/// LinearizeExprTree - Given an associative binary expression tree, traverse /// LinearizeExprTree - Given an associative binary expression tree, traverse
/// all of the uses putting it into canonical form. This forces a left-linear /// 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. /// rank of the non-tree operands.
/// ///
/// NOTE: These intentionally destroys the expression tree operands (turning /// NOTE: These intentionally destroys the expression tree operands (turning
@ -299,7 +299,7 @@ void Reassociate::LinearizeExprTree(BinaryOperator *I,
Success = false; Success = false;
MadeChange = true; MadeChange = true;
} else if (RHSBO) { } 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. // part of the expression tree.
LinearizeExpr(I); LinearizeExpr(I);
LHS = LHSBO = cast<BinaryOperator>(I->getOperand(0)); LHS = LHSBO = cast<BinaryOperator>(I->getOperand(0));

View File

@ -68,7 +68,7 @@ InlineHalfPowrs(const std::vector<Instruction *> &HalfPowrs,
Function *Callee = Call->getCalledFunction(); Function *Callee = Call->getCalledFunction();
// Minimally sanity-check the CFG of half_powr to ensure that it contains // 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. // reason to believe it will be what we expect.
Function::iterator I = Callee->begin(); Function::iterator I = Callee->begin();
BasicBlock *Prologue = I++; BasicBlock *Prologue = I++;

View File

@ -19,7 +19,7 @@
using namespace llvm; using namespace llvm;
/// CreateGlobalString - Make a new global variable with an initializer that /// 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 /// specified. If Name is specified, it is the name of the global variable
/// created. /// created.
Value *IRBuilderBase::CreateGlobalString(const char *Str, const Twine &Name) { Value *IRBuilderBase::CreateGlobalString(const char *Str, const Twine &Name) {