mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
[opaque pointer type] more gep API migration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232274 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -900,10 +900,9 @@ CallGraphNode *ArgPromotion::DoPromotion(Function *F,
|
||||
|
||||
for (unsigned i = 0, e = STy->getNumElements(); i != e; ++i) {
|
||||
Idxs[1] = ConstantInt::get(Type::getInt32Ty(F->getContext()), i);
|
||||
Value *Idx =
|
||||
GetElementPtrInst::Create(TheAlloca, Idxs,
|
||||
TheAlloca->getName()+"."+Twine(i),
|
||||
InsertPt);
|
||||
Value *Idx = GetElementPtrInst::Create(
|
||||
AgTy, TheAlloca, Idxs, TheAlloca->getName() + "." + Twine(i),
|
||||
InsertPt);
|
||||
I2->setName(I->getName()+"."+Twine(i));
|
||||
new StoreInst(I2++, Idx, InsertPt);
|
||||
}
|
||||
|
@ -1476,10 +1476,13 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
|
||||
}
|
||||
|
||||
if (!Indices.empty())
|
||||
return (GEP.isInBounds() && Src->isInBounds()) ?
|
||||
GetElementPtrInst::CreateInBounds(Src->getOperand(0), Indices,
|
||||
GEP.getName()) :
|
||||
GetElementPtrInst::Create(Src->getOperand(0), Indices, GEP.getName());
|
||||
return GEP.isInBounds() && Src->isInBounds()
|
||||
? GetElementPtrInst::CreateInBounds(
|
||||
Src->getSourceElementType(), Src->getOperand(0), Indices,
|
||||
GEP.getName())
|
||||
: GetElementPtrInst::Create(Src->getSourceElementType(),
|
||||
Src->getOperand(0), Indices,
|
||||
GEP.getName());
|
||||
}
|
||||
|
||||
if (GEP.getNumIndices() == 1) {
|
||||
@ -1557,8 +1560,8 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
|
||||
if (CATy->getElementType() == StrippedPtrTy->getElementType()) {
|
||||
// -> GEP i8* X, ...
|
||||
SmallVector<Value*, 8> Idx(GEP.idx_begin()+1, GEP.idx_end());
|
||||
GetElementPtrInst *Res =
|
||||
GetElementPtrInst::Create(StrippedPtr, Idx, GEP.getName());
|
||||
GetElementPtrInst *Res = GetElementPtrInst::Create(
|
||||
StrippedPtrTy->getElementType(), StrippedPtr, Idx, GEP.getName());
|
||||
Res->setIsInBounds(GEP.isInBounds());
|
||||
if (StrippedPtrTy->getAddressSpace() == GEP.getAddressSpace())
|
||||
return Res;
|
||||
|
Reference in New Issue
Block a user