finegrainify namespacification

add new getIntPtrType() method

llvm-svn: 10579
This commit is contained in:
Chris Lattner 2003-12-22 05:01:15 +00:00
parent db65d6f14c
commit bb661c18c8
1 changed files with 13 additions and 3 deletions

View File

@ -21,8 +21,7 @@
#include "llvm/Module.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Constants.h"
namespace llvm {
using namespace llvm;
// Handle the Pass registration stuff necessary to use TargetData's.
namespace {
@ -189,6 +188,18 @@ unsigned char TargetData::getTypeAlignment(const Type *Ty) const {
return Align;
}
/// getIntPtrType - Return an unsigned integer type that is the same size or
/// greater to the host pointer size.
const Type *TargetData::getIntPtrType() const {
switch (getPointerSize()) {
default: assert(0 && "Unknown pointer size!");
case 2: return Type::UShortTy;
case 4: return Type::UIntTy;
case 8: return Type::ULongTy;
}
}
uint64_t TargetData::getIndexedOffset(const Type *ptrTy,
const std::vector<Value*> &Idx) const {
const Type *Ty = ptrTy;
@ -223,4 +234,3 @@ uint64_t TargetData::getIndexedOffset(const Type *ptrTy,
return Result;
}
} // End llvm namespace