s/convertable/convertible/g
authorMisha Brukman <brukman+llvm@gmail.com>
Tue, 20 May 2003 18:45:36 +0000 (18:45 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Tue, 20 May 2003 18:45:36 +0000 (18:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Type.h
lib/Analysis/DataStructure/DataStructure.cpp
lib/Analysis/Expressions.cpp
lib/Transforms/ExprTypeConvert.cpp
lib/Transforms/LevelRaise.cpp
lib/Transforms/Scalar/InstructionCombining.cpp
lib/Transforms/TransformInternals.cpp
lib/Transforms/TransformInternals.h
lib/VMCore/Type.cpp

index 3cf08a3bb52656432cb44e526284e8615f2a2821..8a420ea805f621773077c366256e5fb136c3fa2d 100644 (file)
@@ -157,10 +157,10 @@ public:
   ///
   inline bool isRecursive() const { return Recursive; }
 
-  /// isLosslesslyConvertableTo - Return true if this type can be converted to
+  /// isLosslesslyConvertibleTo - Return true if this type can be converted to
   /// 'Ty' without any reinterpretation of bits.  For example, uint to int.
   ///
-  bool isLosslesslyConvertableTo(const Type *Ty) const;
+  bool isLosslesslyConvertibleTo(const Type *Ty) const;
 
 
   /// Here are some useful little methods to query what type derived types are
index 1aad8cf69ee544cda6c2154747e16c4f75aca9e6..4f774acb0ad3145abc3beec732192617778da2f5 100644 (file)
@@ -336,8 +336,8 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset,
 
   // Check to see if we have a compatible, but different type...
   if (NewTySize == SubTypeSize) {
-    // Check to see if this type is obviously convertable... int -> uint f.e.
-    if (NewTy->isLosslesslyConvertableTo(SubType))
+    // Check to see if this type is obviously convertible... int -> uint f.e.
+    if (NewTy->isLosslesslyConvertibleTo(SubType))
       return false;
 
     // Check to see if we have a pointer & integer mismatch going on here,
index bfab20c42c8f49feee9ee64c444956ba50664cef..513efe0ac2278ea2beaec42a9cf781484dd6f4d0 100644 (file)
@@ -318,7 +318,7 @@ ExprType ClassifyExpression(Value *Expr) {
       DestTy = Type::ULongTy;  // Pointer types are represented as ulong
 
     /*
-    if (!Src.getExprType(0)->isLosslesslyConvertableTo(DestTy)) {
+    if (!Src.getExprType(0)->isLosslesslyConvertibleTo(DestTy)) {
       if (Src.ExprTy != ExprType::Constant)
         return I;  // Converting cast, and not a constant value...
     }
index b13201858764db539b69130c49457a46e7d322a7..044e1ade6a80bfb8f236847cbad35120368b3786 100644 (file)
@@ -2,7 +2,7 @@
 //
 // This file implements the part of level raising that checks to see if it is
 // possible to coerce an entire expression tree into a different type.  If
-// convertable, other routines from this file will do the conversion.
+// convertible, other routines from this file will do the conversion.
 //
 //===----------------------------------------------------------------------===//
 
@@ -17,7 +17,7 @@
 #include <algorithm>
 using std::cerr;
 
-static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
+static bool OperandConvertibleToType(User *U, Value *V, const Type *Ty,
                                      ValueTypeCache &ConvertedTypes,
                                      const TargetData &TD);
 
@@ -35,7 +35,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
 // If these conditions hold, we convert the malloc to allocate an [RTy]
 // element.  TODO: This comment is out of date WRT arrays
 //
-static bool MallocConvertableToType(MallocInst *MI, const Type *Ty,
+static bool MallocConvertibleToType(MallocInst *MI, const Type *Ty,
                                     ValueTypeCache &CTMap,
                                     const TargetData &TD) {
   if (!isa<PointerType>(Ty)) return false;   // Malloc always returns pointers
@@ -132,8 +132,8 @@ static Instruction *ConvertMallocToType(MallocInst *MI, const Type *Ty,
 }
 
 
-// ExpressionConvertableToType - Return true if it is possible
-bool ExpressionConvertableToType(Value *V, const Type *Ty,
+// ExpressionConvertibleToType - Return true if it is possible
+bool ExpressionConvertibleToType(Value *V, const Type *Ty,
                                  ValueTypeCache &CTMap, const TargetData &TD) {
   // Expression type must be holdable in a register.
   if (!Ty->isFirstClassType())
@@ -158,8 +158,8 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
   switch (I->getOpcode()) {
   case Instruction::Cast:
     // We can convert the expr if the cast destination type is losslessly
-    // convertable to the requested type.
-    if (!Ty->isLosslesslyConvertableTo(I->getType())) return false;
+    // convertible to the requested type.
+    if (!Ty->isLosslesslyConvertibleTo(I->getType())) return false;
 
     // We also do not allow conversion of a cast that casts from a ptr to array
     // of X to a *X.  For example: cast [4 x %List *] * %val to %List * *
@@ -175,8 +175,8 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
   case Instruction::Add:
   case Instruction::Sub:
     if (!Ty->isInteger() && !Ty->isFloatingPoint()) return false;
-    if (!ExpressionConvertableToType(I->getOperand(0), Ty, CTMap, TD) ||
-        !ExpressionConvertableToType(I->getOperand(1), Ty, CTMap, TD))
+    if (!ExpressionConvertibleToType(I->getOperand(0), Ty, CTMap, TD) ||
+        !ExpressionConvertibleToType(I->getOperand(1), Ty, CTMap, TD))
       return false;
     break;
   case Instruction::Shr:
@@ -185,13 +185,13 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
     // FALL THROUGH
   case Instruction::Shl:
     if (!Ty->isInteger()) return false;
-    if (!ExpressionConvertableToType(I->getOperand(0), Ty, CTMap, TD))
+    if (!ExpressionConvertibleToType(I->getOperand(0), Ty, CTMap, TD))
       return false;
     break;
 
   case Instruction::Load: {
     LoadInst *LI = cast<LoadInst>(I);
-    if (!ExpressionConvertableToType(LI->getPointerOperand(),
+    if (!ExpressionConvertibleToType(LI->getPointerOperand(),
                                      PointerType::get(Ty), CTMap, TD))
       return false;
     break;                                     
@@ -199,18 +199,18 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
   case Instruction::PHINode: {
     PHINode *PN = cast<PHINode>(I);
     for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i)
-      if (!ExpressionConvertableToType(PN->getIncomingValue(i), Ty, CTMap, TD))
+      if (!ExpressionConvertibleToType(PN->getIncomingValue(i), Ty, CTMap, TD))
         return false;
     break;
   }
 
   case Instruction::Malloc:
-    if (!MallocConvertableToType(cast<MallocInst>(I), Ty, CTMap, TD))
+    if (!MallocConvertibleToType(cast<MallocInst>(I), Ty, CTMap, TD))
       return false;
     break;
 
   case Instruction::GetElementPtr: {
-    // GetElementPtr's are directly convertable to a pointer type if they have
+    // GetElementPtr's are directly convertible to a pointer type if they have
     // a number of zeros at the end.  Because removing these values does not
     // change the logical offset of the GEP, it is okay and fair to remove them.
     // This can change this:
@@ -261,9 +261,9 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
       // the appropriate size... if so, allow it.
       //
       std::vector<Value*> Indices;
-      const Type *ElTy = ConvertableToGEP(PTy, I->getOperand(1), Indices, TD);
+      const Type *ElTy = ConvertibleToGEP(PTy, I->getOperand(1), Indices, TD);
       if (ElTy == PVTy) {
-        if (!ExpressionConvertableToType(I->getOperand(0),
+        if (!ExpressionConvertibleToType(I->getOperand(0),
                                          PointerType::get(ElTy), CTMap, TD))
           return false;  // Can't continue, ExConToTy might have polluted set!
         break;
@@ -281,7 +281,7 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
         TD.getTypeSize(PTy->getElementType()) == 
         TD.getTypeSize(GEP->getType()->getElementType())) {
       const PointerType *NewSrcTy = PointerType::get(PVTy);
-      if (!ExpressionConvertableToType(I->getOperand(0), NewSrcTy, CTMap, TD))
+      if (!ExpressionConvertibleToType(I->getOperand(0), NewSrcTy, CTMap, TD))
         return false;
       break;
     }
@@ -302,7 +302,7 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
                                      FT->getParamTypes().end());
     const FunctionType *NewTy =
       FunctionType::get(Ty, ArgTys, FT->isVarArg());
-    if (!ExpressionConvertableToType(I->getOperand(0),
+    if (!ExpressionConvertibleToType(I->getOperand(0),
                                      PointerType::get(NewTy), CTMap, TD))
       return false;
     break;
@@ -311,12 +311,12 @@ bool ExpressionConvertableToType(Value *V, const Type *Ty,
     return false;
   }
 
-  // Expressions are only convertable if all of the users of the expression can
+  // Expressions are only convertible if all of the users of the expression can
   // have this value converted.  This makes use of the map to avoid infinite
   // recursion.
   //
   for (Value::use_iterator It = I->use_begin(), E = I->use_end(); It != E; ++It)
-    if (!OperandConvertableToType(*It, I, Ty, CTMap, TD))
+    if (!OperandConvertibleToType(*It, I, Ty, CTMap, TD))
       return false;
 
   return true;
@@ -425,7 +425,7 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
   }
 
   case Instruction::GetElementPtr: {
-    // GetElementPtr's are directly convertable to a pointer type if they have
+    // GetElementPtr's are directly convertible to a pointer type if they have
     // a number of zeros at the end.  Because removing these values does not
     // change the logical offset of the GEP, it is okay and fair to remove them.
     // This can change this:
@@ -471,7 +471,7 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
       // the appropriate size... if so, allow it.
       //
       std::vector<Value*> Indices;
-      const Type *ElTy = ConvertableToGEP(NewSrcTy, I->getOperand(1),
+      const Type *ElTy = ConvertibleToGEP(NewSrcTy, I->getOperand(1),
                                           Indices, TD, &It);
       if (ElTy) {        
         assert(ElTy == PVTy && "Internal error, setup wrong!");
@@ -527,7 +527,7 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
     break;
   }
   default:
-    assert(0 && "Expression convertable, but don't know how to convert?");
+    assert(0 && "Expression convertible, but don't know how to convert?");
     return 0;
   }
 
@@ -538,7 +538,7 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
   // Add the instruction to the expression map
   VMC.ExprMap[I] = Res;
 
-  // Expressions are only convertable if all of the users of the expression can
+  // Expressions are only convertible if all of the users of the expression can
   // have this value converted.  This makes use of the map to avoid infinite
   // recursion.
   //
@@ -558,8 +558,8 @@ Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
 
 
 
-// ValueConvertableToType - Return true if it is possible
-bool ValueConvertableToType(Value *V, const Type *Ty,
+// ValueConvertibleToType - Return true if it is possible
+bool ValueConvertibleToType(Value *V, const Type *Ty,
                              ValueTypeCache &ConvertedTypes,
                             const TargetData &TD) {
   ValueTypeCache::iterator I = ConvertedTypes.find(V);
@@ -571,7 +571,7 @@ bool ValueConvertableToType(Value *V, const Type *Ty,
   //
   if (V->getType() != Ty) {
     for (Value::use_iterator I = V->use_begin(), E = V->use_end(); I != E; ++I)
-      if (!OperandConvertableToType(*I, V, Ty, ConvertedTypes, TD))
+      if (!OperandConvertibleToType(*I, V, Ty, ConvertedTypes, TD))
         return false;
   }
 
@@ -582,13 +582,13 @@ bool ValueConvertableToType(Value *V, const Type *Ty,
 
 
 
-// OperandConvertableToType - Return true if it is possible to convert operand
+// OperandConvertibleToType - Return true if it is possible to convert operand
 // V of User (instruction) U to the specified type.  This is true iff it is
 // possible to change the specified instruction to accept this.  CTMap is a map
 // of converted types, so that circular definitions will see the future type of
 // the expression, not the static current type.
 //
-static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
+static bool OperandConvertibleToType(User *U, Value *V, const Type *Ty,
                                      ValueTypeCache &CTMap,
                                      const TargetData &TD) {
   //  if (V->getType() == Ty) return true;   // Operand already the right type?
@@ -604,10 +604,10 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
   case Instruction::Cast:
     assert(I->getOperand(0) == V);
     // We can convert the expr if the cast destination type is losslessly
-    // convertable to the requested type.
+    // convertible to the requested type.
     // Also, do not change a cast that is a noop cast.  For all intents and
     // purposes it should be eliminated.
-    if (!Ty->isLosslesslyConvertableTo(I->getOperand(0)->getType()) ||
+    if (!Ty->isLosslesslyConvertibleTo(I->getOperand(0)->getType()) ||
         I->getType() == I->getOperand(0)->getType())
       return false;
 
@@ -617,7 +617,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
     // signedness doesn't change... or if the current cast is not a lossy
     // conversion.
     //
-    if (!I->getType()->isLosslesslyConvertableTo(I->getOperand(0)->getType()) &&
+    if (!I->getType()->isLosslesslyConvertibleTo(I->getOperand(0)->getType()) &&
         I->getOperand(0)->getType()->isSigned() != Ty->isSigned())
       return false;
 
@@ -636,15 +636,15 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
     if (isa<PointerType>(Ty)) {
       Value *IndexVal = I->getOperand(V == I->getOperand(0) ? 1 : 0);
       std::vector<Value*> Indices;
-      if (const Type *ETy = ConvertableToGEP(Ty, IndexVal, Indices, TD)) {
+      if (const Type *ETy = ConvertibleToGEP(Ty, IndexVal, Indices, TD)) {
         const Type *RetTy = PointerType::get(ETy);
 
         // Only successful if we can convert this type to the required type
-        if (ValueConvertableToType(I, RetTy, CTMap, TD)) {
+        if (ValueConvertibleToType(I, RetTy, CTMap, TD)) {
           CTMap[I] = RetTy;
           return true;
         }
-        // We have to return failure here because ValueConvertableToType could 
+        // We have to return failure here because ValueConvertibleToType could 
         // have polluted our map
         return false;
       }
@@ -654,13 +654,13 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
     if (!Ty->isInteger() && !Ty->isFloatingPoint()) return false;
 
     Value *OtherOp = I->getOperand((V == I->getOperand(0)) ? 1 : 0);
-    return ValueConvertableToType(I, Ty, CTMap, TD) &&
-           ExpressionConvertableToType(OtherOp, Ty, CTMap, TD);
+    return ValueConvertibleToType(I, Ty, CTMap, TD) &&
+           ExpressionConvertibleToType(OtherOp, Ty, CTMap, TD);
   }
   case Instruction::SetEQ:
   case Instruction::SetNE: {
     Value *OtherOp = I->getOperand((V == I->getOperand(0)) ? 1 : 0);
-    return ExpressionConvertableToType(OtherOp, Ty, CTMap, TD);
+    return ExpressionConvertibleToType(OtherOp, Ty, CTMap, TD);
   }
   case Instruction::Shr:
     if (Ty->isSigned() != V->getType()->isSigned()) return false;
@@ -668,7 +668,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
   case Instruction::Shl:
     if (I->getOperand(1) == V) return false;  // Cannot change shift amount type
     if (!Ty->isInteger()) return false;
-    return ValueConvertableToType(I, Ty, CTMap, TD);
+    return ValueConvertibleToType(I, Ty, CTMap, TD);
 
   case Instruction::Free:
     assert(I->getOperand(0) == V);
@@ -697,7 +697,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
       if (TD.getTypeSize(LoadedTy) != TD.getTypeSize(LI->getType()))
         return false;
 
-      return ValueConvertableToType(LI, LoadedTy, CTMap, TD);
+      return ValueConvertibleToType(LI, LoadedTy, CTMap, TD);
     }
     return false;
 
@@ -743,7 +743,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
 
       // Can convert the store if we can convert the pointer operand to match
       // the new  value type...
-      return ExpressionConvertableToType(I->getOperand(1), PointerType::get(Ty),
+      return ExpressionConvertibleToType(I->getOperand(1), PointerType::get(Ty),
                                          CTMap, TD);
     } else if (const PointerType *PT = dyn_cast<PointerType>(Ty)) {
       const Type *ElTy = PT->getElementType();
@@ -766,8 +766,8 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
           TD.getTypeSize(ElTy) != TD.getTypeSize(I->getOperand(0)->getType()))
         return false;
 
-      // Can convert store if the incoming value is convertable...
-      return ExpressionConvertableToType(I->getOperand(0), ElTy, CTMap, TD);
+      // Can convert store if the incoming value is convertible...
+      return ExpressionConvertibleToType(I->getOperand(0), ElTy, CTMap, TD);
     }
     return false;
   }
@@ -786,7 +786,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
       Instruction *TempScale = 0;
 
       // If the old data element is not unit sized, we have to create a scale
-      // instruction so that ConvertableToGEP will know the REAL amount we are
+      // instruction so that ConvertibleToGEP will know the REAL amount we are
       // indexing by.  Note that this is never inserted into the instruction
       // stream, so we have to delete it when we're done.
       //
@@ -801,20 +801,20 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
       // be converted to the appropriate size... if so, allow it.
       //
       std::vector<Value*> Indices;
-      const Type *ElTy = ConvertableToGEP(Ty, Index, Indices, TD);
+      const Type *ElTy = ConvertibleToGEP(Ty, Index, Indices, TD);
       delete TempScale;   // Free our temporary multiply if we made it
 
       if (ElTy == 0) return false;  // Cannot make conversion...
-      return ValueConvertableToType(I, PointerType::get(ElTy), CTMap, TD);
+      return ValueConvertibleToType(I, PointerType::get(ElTy), CTMap, TD);
     }
     return false;
 
   case Instruction::PHINode: {
     PHINode *PN = cast<PHINode>(I);
     for (unsigned i = 0; i < PN->getNumIncomingValues(); ++i)
-      if (!ExpressionConvertableToType(PN->getIncomingValue(i), Ty, CTMap, TD))
+      if (!ExpressionConvertibleToType(PN->getIncomingValue(i), Ty, CTMap, TD))
         return false;
-    return ValueConvertableToType(PN, Ty, CTMap, TD);
+    return ValueConvertibleToType(PN, Ty, CTMap, TD);
   }
 
   case Instruction::Call: {
@@ -851,21 +851,21 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
 
       // Okay, at this point, we know that the call and the function type match
       // number of arguments.  Now we see if we can convert the arguments
-      // themselves.  Note that we do not require operands to be convertable,
+      // themselves.  Note that we do not require operands to be convertible,
       // we can insert casts if they are convertible but not compatible.  The
       // reason for this is that we prefer to have resolved functions but casted
       // arguments if possible.
       //
       const FunctionType::ParamTypes &PTs = FTy->getParamTypes();
       for (unsigned i = 0, NA = PTs.size(); i < NA; ++i)
-        if (!PTs[i]->isLosslesslyConvertableTo(I->getOperand(i+1)->getType()))
+        if (!PTs[i]->isLosslesslyConvertibleTo(I->getOperand(i+1)->getType()))
           return false;   // Operands must have compatible types!
 
       // Okay, at this point, we know that all of the arguments can be
       // converted.  We succeed if we can change the return type if
       // neccesary...
       //
-      return ValueConvertableToType(I, FTy->getReturnType(), CTMap, TD);
+      return ValueConvertibleToType(I, FTy->getReturnType(), CTMap, TD);
     }
     
     const PointerType *MPtr = cast<PointerType>(I->getOperand(0)->getType());
@@ -878,7 +878,7 @@ static bool OperandConvertableToType(User *U, Value *V, const Type *Ty,
     // If we get this far, we know the value is in the varargs section of the
     // function!  We can convert if we don't reinterpret the value...
     //
-    return Ty->isLosslesslyConvertableTo(V->getType());
+    return Ty->isLosslesslyConvertibleTo(V->getType());
   }
   }
   return false;
@@ -912,7 +912,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
     return;
 
 
-  Instruction *I = cast<Instruction>(U);  // Only Instructions convertable
+  Instruction *I = cast<Instruction>(U);  // Only Instructions convertible
 
   BasicBlock *BB = I->getParent();
   assert(BB != 0 && "Instruction not embedded in basic block!");
@@ -951,13 +951,13 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
       std::vector<Value*> Indices;
       BasicBlock::iterator It = I;
 
-      if (const Type *ETy = ConvertableToGEP(NewTy, IndexVal, Indices, TD,&It)){
+      if (const Type *ETy = ConvertibleToGEP(NewTy, IndexVal, Indices, TD,&It)){
         // If successful, convert the add to a GEP
         //const Type *RetTy = PointerType::get(ETy);
         // First operand is actually the given pointer...
         Res = new GetElementPtrInst(NewVal, Indices, Name);
         assert(cast<PointerType>(Res->getType())->getElementType() == ETy &&
-               "ConvertableToGEP broken!");
+               "ConvertibleToGEP broken!");
         break;
       }
     }
@@ -1023,7 +1023,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
       ValueMapCache::ExprMapTy::iterator VMCI =
         VMC.ExprMap.find(I->getOperand(1));
       if (VMCI != VMC.ExprMap.end()) {
-        // Comments describing this stuff are in the OperandConvertableToType
+        // Comments describing this stuff are in the OperandConvertibleToType
         // switch statement for Store...
         //
         const Type *ElTy =
@@ -1105,11 +1105,11 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
     // Perform the conversion now...
     //
     std::vector<Value*> Indices;
-    const Type *ElTy = ConvertableToGEP(NewVal->getType(),Index,Indices,TD,&It);
+    const Type *ElTy = ConvertibleToGEP(NewVal->getType(),Index,Indices,TD,&It);
     assert(ElTy != 0 && "GEP Conversion Failure!");
     Res = new GetElementPtrInst(NewVal, Indices, Name);
     assert(Res->getType() == PointerType::get(ElTy) &&
-           "ConvertableToGet failed!");
+           "ConvertibleToGet failed!");
   }
 #if 0
     if (I->getType() == PointerType::get(Type::SByteTy)) {
@@ -1122,7 +1122,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
       // be converted to the appropriate size... if so, allow it.
       //
       std::vector<Value*> Indices;
-      const Type *ElTy = ConvertableToGEP(NewVal->getType(), I->getOperand(1),
+      const Type *ElTy = ConvertibleToGEP(NewVal->getType(), I->getOperand(1),
                                           Indices, TD, &It);
       assert(ElTy != 0 && "GEP Conversion Failure!");
       
@@ -1169,7 +1169,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
 
       // Get an iterator to the call instruction so that we can insert casts for
       // operands if needbe.  Note that we do not require operands to be
-      // convertable, we can insert casts if they are convertible but not
+      // convertible, we can insert casts if they are convertible but not
       // compatible.  The reason for this is that we prefer to have resolved
       // functions but casted arguments if possible.
       //
@@ -1200,7 +1200,7 @@ static void ConvertOperandToType(User *U, Value *OldVal, Value *NewVal,
     break;
   }
   default:
-    assert(0 && "Expression convertable, but don't know how to convert?");
+    assert(0 && "Expression convertible, but don't know how to convert?");
     return;
   }
 
index 01607e1c97d27c64a281a6a80b1837527b54ab58..b678dffd73e0057343ab64ed1517cdbee7280335 100644 (file)
@@ -90,7 +90,7 @@ Pass *createRaisePointerReferencesPass() {
 // cast instruction would cause the underlying bits to change.
 //
 static inline bool isReinterpretingCast(const CastInst *CI) {
-  return!CI->getOperand(0)->getType()->isLosslesslyConvertableTo(CI->getType());
+  return!CI->getOperand(0)->getType()->isLosslesslyConvertibleTo(CI->getType());
 }
 
 
@@ -127,8 +127,8 @@ static bool HandleCastToPointer(BasicBlock::iterator BI,
 
   std::vector<Value*> Indices;
   Value *Src = CI.getOperand(0);
-  const Type *Result = ConvertableToGEP(DestPTy, Src, Indices, TD, &BI);
-  if (Result == 0) return false;  // Not convertable...
+  const Type *Result = ConvertibleToGEP(DestPTy, Src, Indices, TD, &BI);
+  if (Result == 0) return false;  // Not convertible...
 
   // Cannot handle subtracts if there is more than one index required...
   if (HasSubUse && Indices.size() != 1) return false;
@@ -212,8 +212,8 @@ static bool PeepholeOptimizeAddCast(BasicBlock *BB, BasicBlock::iterator &BI,
     return false;
 
   std::vector<Value*> Indices;
-  if (!ConvertableToGEP(SrcPtr->getType(), OffsetVal, Indices, TD, &BI))
-    return false;  // Not convertable... perhaps next time
+  if (!ConvertibleToGEP(SrcPtr->getType(), OffsetVal, Indices, TD, &BI))
+    return false;  // Not convertible... perhaps next time
 
   if (getPointedToComposite(AddOp1->getType())) {  // case 1
     PRINT_PEEPHOLE2("add-to-gep1:in", AddOp2, *BI);
@@ -271,7 +271,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
       // destination type of the cast...
       //
       ConvertedTypes[CI] = CI->getType();  // Make sure the cast doesn't change
-      if (ExpressionConvertableToType(Src, DestTy, ConvertedTypes, TD)) {
+      if (ExpressionConvertibleToType(Src, DestTy, ConvertedTypes, TD)) {
         PRINT_PEEPHOLE3("CAST-SRC-EXPR-CONV:in ", Src, CI, BB->getParent());
           
         DEBUG(cerr << "\nCONVERTING SRC EXPR TYPE:\n");
@@ -299,7 +299,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
       ConvertedTypes.clear();
       // Make sure the source doesn't change type
       ConvertedTypes[Src] = Src->getType();
-      if (ValueConvertableToType(CI, Src->getType(), ConvertedTypes, TD)) {
+      if (ValueConvertibleToType(CI, Src->getType(), ConvertedTypes, TD)) {
         PRINT_PEEPHOLE3("CAST-DEST-EXPR-CONV:in ", Src, CI, BB->getParent());
 
         DEBUG(cerr << "\nCONVERTING EXPR TYPE:\n");
@@ -357,7 +357,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
           }
 
         // If it doesn't have an add use, check to see if the dest type is
-        // losslessly convertable to one of the types in the start of the struct
+        // losslessly convertible to one of the types in the start of the struct
         // type.
         //
         if (!HasAddUse) {
@@ -386,7 +386,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
             Indices.push_back(Constant::getNullValue(CurCTy->getIndexType()));
 
             // Did we find what we're looking for?
-            if (ElTy->isLosslesslyConvertableTo(DestPointedTy)) break;
+            if (ElTy->isLosslesslyConvertibleTo(DestPointedTy)) break;
             
             // Nope, go a level deeper.
             ++Depth;
@@ -421,7 +421,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
     Value *Pointer = SI->getPointerOperand();
     
     // Peephole optimize the following instructions:
-    // %t = cast <T1>* %P to <T2> * ;; If T1 is losslessly convertable to T2
+    // %t = cast <T1>* %P to <T2> * ;; If T1 is losslessly convertible to T2
     // store <T2> %V, <T2>* %t
     //
     // Into: 
@@ -436,8 +436,8 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
     if (CastInst *CI = dyn_cast<CastInst>(Pointer))
       if (Value *CastSrc = CI->getOperand(0)) // CSPT = CastSrcPointerType
         if (const PointerType *CSPT = dyn_cast<PointerType>(CastSrc->getType()))
-          // convertable types?
-          if (Val->getType()->isLosslesslyConvertableTo(CSPT->getElementType())) {
+          // convertible types?
+          if (Val->getType()->isLosslesslyConvertibleTo(CSPT->getElementType())) {
             PRINT_PEEPHOLE3("st-src-cast:in ", Pointer, Val, SI);
 
             // Insert the new T cast instruction... stealing old T's name
@@ -459,7 +459,7 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
       cast<PointerType>(Pointer->getType())->getElementType();
     
     // Peephole optimize the following instructions:
-    // %Val = cast <T1>* to <T2>*    ;; If T1 is losslessly convertable to T2
+    // %Val = cast <T1>* to <T2>*    ;; If T1 is losslessly convertible to T2
     // %t = load <T2>* %P
     //
     // Into: 
@@ -474,8 +474,8 @@ bool RPR::PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
     if (CastInst *CI = dyn_cast<CastInst>(Pointer))
       if (Value *CastSrc = CI->getOperand(0)) // CSPT = CastSrcPointerType
         if (const PointerType *CSPT = dyn_cast<PointerType>(CastSrc->getType()))
-          // convertable types?
-          if (PtrElType->isLosslesslyConvertableTo(CSPT->getElementType())) {
+          // convertible types?
+          if (PtrElType->isLosslesslyConvertibleTo(CSPT->getElementType())) {
             PRINT_PEEPHOLE2("load-src-cast:in ", Pointer, LI);
 
             // Create the new load instruction... loading the pre-casted value
index d00cefd37d4ecc744c83a68c6de7ec5905682659..d73ee1e40cd49c5157956a1db9f18a7f488cb68b 100644 (file)
@@ -811,7 +811,7 @@ static inline bool isEliminableCastOfCast(const CastInst &CI,
   // It is legal to eliminate the instruction if casting A->B->A if the sizes
   // are identical and the bits don't get reinterpreted (for example 
   // int->float->int would not be allowed)
-  if (SrcTy == DstTy && SrcTy->isLosslesslyConvertableTo(MidTy))
+  if (SrcTy == DstTy && SrcTy->isLosslesslyConvertibleTo(MidTy))
     return true;
 
   // Allow free casting and conversion of sizes as long as the sign doesn't
index d3641e6f0dfce884e88a33f18ec34ff806270382..56c03b991f0abd514051b3c15f4df9e32336b440 100644 (file)
@@ -74,12 +74,12 @@ const Type *getStructOffsetType(const Type *Ty, unsigned &Offset,
   return LeafTy;
 }
 
-// ConvertableToGEP - This function returns true if the specified value V is
+// ConvertibleToGEP - This function returns true if the specified value V is
 // a valid index into a pointer of type Ty.  If it is valid, Idx is filled in
 // with the values that would be appropriate to make this a getelementptr
 // instruction.  The type returned is the root type that the GEP would point to
 //
-const Type *ConvertableToGEP(const Type *Ty, Value *OffsetVal,
+const Type *ConvertibleToGEP(const Type *Ty, Value *OffsetVal,
                              std::vector<Value*> &Indices,
                              const TargetData &TD,
                              BasicBlock::iterator *BI) {
index 9f6eb7954bc59ecb20aefccdb46bed355580b691..8cab4293496012515215a87b7dd62e13645ce985 100644 (file)
@@ -30,7 +30,7 @@ static inline const CompositeType *getPointedToComposite(const Type *Ty) {
   return PT ? dyn_cast<CompositeType>(PT->getElementType()) : 0;
 }
 
-// ConvertableToGEP - This function returns true if the specified value V is
+// ConvertibleToGEP - This function returns true if the specified value V is
 // a valid index into a pointer of type Ty.  If it is valid, Idx is filled in
 // with the values that would be appropriate to make this a getelementptr
 // instruction.  The type returned is the root type that the GEP would point
@@ -39,7 +39,7 @@ static inline const CompositeType *getPointedToComposite(const Type *Ty) {
 // If BI is nonnull, cast instructions are inserted as appropriate for the
 // arguments of the getelementptr.
 //
-const Type *ConvertableToGEP(const Type *Ty, Value *V,
+const Type *ConvertibleToGEP(const Type *Ty, Value *V,
                              std::vector<Value*> &Indices,
                              const TargetData &TD,
                              BasicBlock::iterator *BI = 0);
@@ -105,13 +105,13 @@ struct ValueMapCache {
 };
 
 
-bool ExpressionConvertableToType(Value *V, const Type *Ty, ValueTypeCache &Map,
+bool ExpressionConvertibleToType(Value *V, const Type *Ty, ValueTypeCache &Map,
                                  const TargetData &TD);
 Value *ConvertExpressionToType(Value *V, const Type *Ty, ValueMapCache &VMC,
                                const TargetData &TD);
 
-// ValueConvertableToType - Return true if it is possible
-bool ValueConvertableToType(Value *V, const Type *Ty,
+// ValueConvertibleToType - Return true if it is possible
+bool ValueConvertibleToType(Value *V, const Type *Ty,
                             ValueTypeCache &ConvertedTypes,
                             const TargetData &TD);
 
index 398937aa181947ced16767b97ac7de44ad369128..237449302c81490c596e3088ea302c80b495403c 100644 (file)
@@ -82,10 +82,10 @@ const Type *Type::getPrimitiveType(PrimitiveID IDNumber) {
   }
 }
 
-// isLosslesslyConvertableTo - Return true if this type can be converted to
+// isLosslesslyConvertibleTo - Return true if this type can be converted to
 // 'Ty' without any reinterpretation of bits.  For example, uint to int.
 //
-bool Type::isLosslesslyConvertableTo(const Type *Ty) const {
+bool Type::isLosslesslyConvertibleTo(const Type *Ty) const {
   if (this == Ty) return true;
   if ((!isPrimitiveType()    && !isa<PointerType>(this)) ||
       (!isa<PointerType>(Ty) && !Ty->isPrimitiveType())) return false;