diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-28 15:39:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-28 15:39:14 +0000 |
commit | dd696052f0e4ecc973d105be19cf1b4b72f9a0c4 (patch) | |
tree | 8226d6891fd486b5865434d0ab138ab1cf321b0b /lib/Transforms/Scalar/GVN.cpp | |
parent | ab9530ee5d8fec9ed822a82fa21b588952269897 (diff) | |
download | llvm-dd696052f0e4ecc973d105be19cf1b4b72f9a0c4.tar.gz llvm-dd696052f0e4ecc973d105be19cf1b4b72f9a0c4.tar.bz2 llvm-dd696052f0e4ecc973d105be19cf1b4b72f9a0c4.tar.xz |
Enhance InsertPHITranslatedPointer to be able to return a list of newly
inserted instructions. No functionality change until someone starts using it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90039 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/GVN.cpp')
-rw-r--r-- | lib/Transforms/Scalar/GVN.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp index cdc3a4efc1..6311491c7d 100644 --- a/lib/Transforms/Scalar/GVN.cpp +++ b/lib/Transforms/Scalar/GVN.cpp @@ -1437,10 +1437,11 @@ bool GVN::processNonLocalLoad(LoadInst *LI, // // FIXME: This may insert a computation, but we don't tell scalar GVN // optimization stuff about it. How do we do this? + SmallVector<Instruction*, 8> NewInsts; #if 0 Value *LoadPtr = MD->InsertPHITranslatedPointer(LI->getOperand(0), LoadBB, - UnavailablePred, TD, *DT); + UnavailablePred, TD, *DT, NewInsts); #else Value *LoadPtr = MD->GetAvailablePHITranslatedValue(LI->getOperand(0), LoadBB, @@ -1465,6 +1466,7 @@ bool GVN::processNonLocalLoad(LoadInst *LI, // we do not have this case. Otherwise, check that the load is safe to // put anywhere; this can be improved, but should be conservatively safe. if (!allSingleSucc && + // FIXME: REEVALUTE THIS. !isSafeToLoadUnconditionally(LoadPtr, UnavailablePred->getTerminator())) return false; |