X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTransforms%2FTransformInternals.h;h=3b80146a2780c14b28215ca642bd3d8a04952ab6;hb=068758e518f0fe4ab67490f2eec0fd3b376a4d2c;hp=9f6eb7954bc59ecb20aefccdb46bed355580b691;hpb=16125fb74966ebe416c669e28e453be68eda32a7;p=oota-llvm.git diff --git a/lib/Transforms/TransformInternals.h b/lib/Transforms/TransformInternals.h index 9f6eb7954bc..3b80146a278 100644 --- a/lib/Transforms/TransformInternals.h +++ b/lib/Transforms/TransformInternals.h @@ -1,4 +1,11 @@ -//===-- TransformInternals.h - Shared functions for Transforms ---*- C++ -*--=// +//===-- TransformInternals.h - Shared functions for Transforms --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by the LLVM research group and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// // // This header file declares shared functions used by the different components // of the Transforms library. @@ -15,10 +22,10 @@ #include #include +namespace llvm { + static inline int64_t getConstantValue(const ConstantInt *CPI) { - if (const ConstantSInt *CSI = dyn_cast(CPI)) - return CSI->getValue(); - return (int64_t)cast(CPI)->getValue(); + return (int64_t)cast(CPI)->getRawValue(); } @@ -30,7 +37,7 @@ static inline const CompositeType *getPointedToComposite(const Type *Ty) { return PT ? dyn_cast(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 +46,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 &Indices, const TargetData &TD, BasicBlock::iterator *BI = 0); @@ -96,7 +103,7 @@ struct ValueMapCache { typedef std::map ExprMapTy; // Cast Map - Cast instructions can have their source and destination values - // changed independantly for each part. Because of this, our old naive + // changed independently for each part. Because of this, our old naive // implementation would create a TWO new cast instructions, which would cause // all kinds of problems. Here we keep track of the newly allocated casts, so // that we only create one for a particular instruction. @@ -105,13 +112,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); @@ -134,4 +141,6 @@ const Type *getStructOffsetType(const Type *Ty, unsigned &Offset, std::vector &Offsets, const TargetData &TD, bool StopEarly = true); +} // End llvm namespace + #endif