diff options
author | David Blaikie <dblaikie@gmail.com> | 2015-04-03 21:33:42 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2015-04-03 21:33:42 +0000 |
commit | aa41cd57e0223306f146b421df1b88893a36bd81 (patch) | |
tree | 40bbe08a40b20ac5c95d35c7d0471588fac6a011 /llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp | |
parent | 65fab6d89666e88ed1c9841164ca5b8b0653fec1 (diff) | |
download | bcm5719-llvm-aa41cd57e0223306f146b421df1b88893a36bd81.tar.gz bcm5719-llvm-aa41cd57e0223306f146b421df1b88893a36bd81.zip |
[opaque pointer type] More GEP IRBuilder API migrations...
llvm-svn: 234058
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp')
-rw-r--r-- | llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp b/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp index b4c6a50b708..9fb63e990a1 100644 --- a/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp +++ b/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp @@ -82,8 +82,9 @@ createReplacementInstr(ConstantExpr *CE, Instruction *Instr) { case Instruction::GetElementPtr: { SmallVector<Value *,4> CEOpVec(CE->op_begin(), CE->op_end()); ArrayRef<Value *> CEOps(CEOpVec); - return dyn_cast<Instruction>(Builder.CreateInBoundsGEP(CEOps[0], - CEOps.slice(1))); + return dyn_cast<Instruction>(Builder.CreateInBoundsGEP( + cast<GEPOperator>(CE)->getSourceElementType(), CEOps[0], + CEOps.slice(1))); } case Instruction::Add: case Instruction::Sub: @@ -212,7 +213,8 @@ bool XCoreLowerThreadLocal::lowerGlobal(GlobalVariable *GV) { SmallVector<Value *, 2> Indices; Indices.push_back(Constant::getNullValue(Type::getInt64Ty(Ctx))); Indices.push_back(ThreadID); - Value *Addr = Builder.CreateInBoundsGEP(NewGV, Indices); + Value *Addr = + Builder.CreateInBoundsGEP(NewGV->getValueType(), NewGV, Indices); U->replaceUsesOfWith(GV, Addr); } |