summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-28 15:39:14 +0000
committerChris Lattner <sabre@nondot.org>2009-11-28 15:39:14 +0000
commit44da5bd837f09f933ebee366862e0708003a8336 (patch)
tree889376ef8f40e6f8b2c2cb7f8959f35cb497c564 /llvm/lib/Transforms
parentc7bc66dfc6f763b990ccab357fc5334e4274f708 (diff)
downloadbcm5719-llvm-44da5bd837f09f933ebee366862e0708003a8336.tar.gz
bcm5719-llvm-44da5bd837f09f933ebee366862e0708003a8336.zip
Enhance InsertPHITranslatedPointer to be able to return a list of newly
inserted instructions. No functionality change until someone starts using it. llvm-svn: 90039
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/GVN.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index cdc3a4efc1f..6311491c7d3 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud