diff options
author | Roman Tereshin <rtereshin@apple.com> | 2019-01-18 21:38:44 +0000 |
---|---|---|
committer | Roman Tereshin <rtereshin@apple.com> | 2019-01-18 21:38:44 +0000 |
commit | 86ac5326879a9e1ab8b92e28c02c0ba5aed880e8 (patch) | |
tree | e3216f242fefc88b56aab65903ce634cf80f5835 /llvm/lib/CodeGen | |
parent | 149119dc5f71b19500456307b2f50cea3fce42f9 (diff) | |
download | llvm-86ac5326879a9e1ab8b92e28c02c0ba5aed880e8.zip llvm-86ac5326879a9e1ab8b92e28c02c0ba5aed880e8.tar.gz llvm-86ac5326879a9e1ab8b92e28c02c0ba5aed880e8.tar.bz2 |
Revert "[CGP] Check for existing inttotpr before creating new one"
This reverts commit r351582.
Bots are failing. Reverting this to fix and re-commit later.
llvm-svn: 351598
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index 0c7c9de..c35f866 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -4664,22 +4664,13 @@ bool CodeGenPrepare::optimizeMemoryInst(Instruction *MemoryInst, Value *Addr, // will look through it and provide only the integer value. In that case, // use it here. if (!DL->isNonIntegralPointerType(Addr->getType())) { - const auto getResultPtr = [MemoryInst, Addr, - &Builder](Value *Reg) -> Value * { - for (User *U : Reg->users()) - if (auto *I2P = dyn_cast<IntToPtrInst>(U)) - if (I2P->getType() == Addr->getType() && - I2P->getParent() == MemoryInst->getParent()) { - I2P->moveBefore(MemoryInst->getParent()->getFirstNonPHI()); - return I2P; - } - return Builder.CreateIntToPtr(Reg, Addr->getType(), "sunkaddr"); - }; if (!ResultPtr && AddrMode.BaseReg) { - ResultPtr = getResultPtr(AddrMode.BaseReg); + ResultPtr = Builder.CreateIntToPtr(AddrMode.BaseReg, Addr->getType(), + "sunkaddr"); AddrMode.BaseReg = nullptr; } else if (!ResultPtr && AddrMode.Scale == 1) { - ResultPtr = getResultPtr(AddrMode.ScaledReg); + ResultPtr = Builder.CreateIntToPtr(AddrMode.ScaledReg, Addr->getType(), + "sunkaddr"); AddrMode.Scale = 0; } } |