diff options
author | Chris Lattner <sabre@nondot.org> | 2004-04-05 01:30:19 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-04-05 01:30:19 +0000 |
commit | 28977af72a11fcad5d1b54d7a96b3df02828f6fc (patch) | |
tree | 671a8fa4df839cb653ebd22dda8fa39639b3afa7 /lib/Transforms/Utils/LowerInvoke.cpp | |
parent | 830b6f98686f40f86811dceb5497433ebac385e1 (diff) |
Support getelementptr instructions which use uint's to index into structure
types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12653 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/LowerInvoke.cpp')
-rw-r--r-- | lib/Transforms/Utils/LowerInvoke.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Transforms/Utils/LowerInvoke.cpp b/lib/Transforms/Utils/LowerInvoke.cpp index 2349d7638d..c486633a75 100644 --- a/lib/Transforms/Utils/LowerInvoke.cpp +++ b/lib/Transforms/Utils/LowerInvoke.cpp @@ -277,14 +277,14 @@ bool LowerInvoke::insertExpensiveEHSupport(Function &F) { // Store this old value as our 'next' field, and store our alloca as the // current jblist. std::vector<Value*> Idx; - Idx.push_back(Constant::getNullValue(Type::LongTy)); - Idx.push_back(ConstantUInt::get(Type::UByteTy, 0)); + Idx.push_back(Constant::getNullValue(Type::IntTy)); + Idx.push_back(ConstantUInt::get(Type::UIntTy, 0)); Value *NextFieldPtr = new GetElementPtrInst(JmpBuf, Idx, "NextField", II); new StoreInst(OldEntry, NextFieldPtr, II); new StoreInst(JmpBuf, JBListHead, II); // Call setjmp, passing in the address of the jmpbuffer. - Idx[1] = ConstantUInt::get(Type::UByteTy, 1); + Idx[1] = ConstantUInt::get(Type::UIntTy, 1); Value *JmpBufPtr = new GetElementPtrInst(JmpBuf, Idx, "TheJmpBuf", II); Value *SJRet = new CallInst(SetJmpFn, JmpBufPtr, "sjret", II); @@ -369,14 +369,14 @@ bool LowerInvoke::insertExpensiveEHSupport(Function &F) { // JBList. std::vector<Value*> Idx; Idx.push_back(Constant::getNullValue(Type::LongTy)); - Idx.push_back(ConstantUInt::get(Type::UByteTy, 0)); + Idx.push_back(ConstantUInt::get(Type::UIntTy, 0)); Value *NextFieldPtr = new GetElementPtrInst(RecPtr, Idx, "NextField", RI); Value *NextRec = new LoadInst(NextFieldPtr, "NextRecord", RI); new StoreInst(NextRec, JBListHead, RI); // Now that we popped the top of the JBList, get a pointer to the jmpbuf and // longjmp. - Idx[1] = ConstantUInt::get(Type::UByteTy, 1); + Idx[1] = ConstantUInt::get(Type::UIntTy, 1); Idx[0] = new GetElementPtrInst(RecPtr, Idx, "JmpBuf", RI); Idx[1] = ConstantInt::get(Type::IntTy, 1); new CallInst(LongJmpFn, Idx, "", RI); |