Introduce and use convenience methods for getting pointer types

where the element is of a basic builtin type.  For example, to get
an i8* use getInt8PtrTy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2009-10-06 15:40:36 +00:00
parent 6e214805b1
commit ac53a0b272
25 changed files with 121 additions and 66 deletions

View File

@@ -88,7 +88,7 @@ bool SjLjEHPass::doInitialization(Module &M) {
// Build the function context structure.
// builtin_setjmp uses a five word jbuf
const Type *VoidPtrTy =
PointerType::getUnqual(Type::getInt8Ty(M.getContext()));
Type::getInt8PtrTy(M.getContext());
const Type *Int32Ty = Type::getInt32Ty(M.getContext());
FunctionContextTy =
StructType::get(M.getContext(),
@@ -378,7 +378,7 @@ bool SjLjEHPass::insertSjLjEHSupport(Function &F) {
// the instruction hasn't already been removed.
if (!I->getParent()) continue;
Value *Val = new LoadInst(ExceptionAddr, "exception", true, I);
Type *Ty = PointerType::getUnqual(Type::getInt8Ty(F.getContext()));
const Type *Ty = Type::getInt8PtrTy(F.getContext());
Val = CastInst::Create(Instruction::IntToPtr, Val, Ty, "", I);
I->replaceAllUsesWith(Val);
@@ -455,8 +455,8 @@ bool SjLjEHPass::insertSjLjEHSupport(Function &F) {
// Call the setjmp instrinsic. It fills in the rest of the jmpbuf
Value *SetjmpArg =
CastInst::Create(Instruction::BitCast, FieldPtr,
Type::getInt8Ty(F.getContext())->getPointerTo(), "",
EntryBB->getTerminator());
Type::getInt8PtrTy(F.getContext()), "",
EntryBB->getTerminator());
Value *DispatchVal = CallInst::Create(BuiltinSetjmpFn, SetjmpArg,
"dispatch",
EntryBB->getTerminator());