diff options
| author | David Blaikie <dblaikie@gmail.com> | 2015-06-01 03:09:34 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2015-06-01 03:09:34 +0000 |
| commit | f5147ef0b997cfd18f7e16efbaeeac98afdc55ab (patch) | |
| tree | 01042fadd4aa42eb390453b1e11b40435d3b6bae /llvm/lib/Transforms/Utils/ValueMapper.cpp | |
| parent | 227e1aeb1306e1d2c184ca460b11178794406a65 (diff) | |
| download | bcm5719-llvm-f5147ef0b997cfd18f7e16efbaeeac98afdc55ab.tar.gz bcm5719-llvm-f5147ef0b997cfd18f7e16efbaeeac98afdc55ab.zip | |
[opaque pointer type] Explicitly store the pointee type of the result of a GEP
Alternatively, this type could be derived on-demand whenever
getResultElementType is called - if someone thinks that's the better
choice (simple time/space tradeoff), I'm happy to give it a go.
llvm-svn: 238716
Diffstat (limited to 'llvm/lib/Transforms/Utils/ValueMapper.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Utils/ValueMapper.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/ValueMapper.cpp b/llvm/lib/Transforms/Utils/ValueMapper.cpp index cac80accc32..8c72641da9e 100644 --- a/llvm/lib/Transforms/Utils/ValueMapper.cpp +++ b/llvm/lib/Transforms/Utils/ValueMapper.cpp @@ -400,8 +400,11 @@ void llvm::RemapInstruction(Instruction *I, ValueToValueMapTy &VMap, } if (auto *AI = dyn_cast<AllocaInst>(I)) AI->setAllocatedType(TypeMapper->remapType(AI->getAllocatedType())); - if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) + if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { GEP->setSourceElementType( TypeMapper->remapType(GEP->getSourceElementType())); + GEP->setResultElementType( + TypeMapper->remapType(GEP->getResultElementType())); + } I->mutateType(TypeMapper->remapType(I->getType())); } |

