mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-30 23:00:36 +00:00
Fix "the the" and similar typos.
llvm-svn: 95781
This commit is contained in:
parent
fd8f55bc9e
commit
92b6122204
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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())
|
||||
|
@ -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;
|
||||
|
@ -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; }
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = "");
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -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 *
|
||||
|
@ -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 {
|
||||
|
@ -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.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
@ -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) &&
|
||||
|
@ -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!");
|
||||
|
@ -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) {
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
@ -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::
|
||||
|
@ -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,
|
||||
|
@ -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));
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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",
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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));
|
||||
|
@ -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++;
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user