aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2007-08-08 21:39:39 +0000
committerOwen Anderson <resistor@mac.com>2007-08-08 21:39:39 +0000
commit8cad423d94fd7e30d84742311c454016f36e3ee3 (patch)
treef4f9158e439003d42a82dec6adb5b974504ee867 /lib
parentd2887e4dcd23783f702d2b7804aeeac71dc2a10b (diff)
downloadexternal_llvm-8cad423d94fd7e30d84742311c454016f36e3ee3.zip
external_llvm-8cad423d94fd7e30d84742311c454016f36e3ee3.tar.gz
external_llvm-8cad423d94fd7e30d84742311c454016f36e3ee3.tar.bz2
Change the None and NonLocal markers in memdep to be const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40946 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Analysis/MemoryDependenceAnalysis.cpp32
-rw-r--r--lib/Transforms/Scalar/DeadStoreElimination.cpp6
-rw-r--r--lib/Transforms/Scalar/GVN.cpp6
-rw-r--r--lib/Transforms/Scalar/RedundantLoadElimination.cpp4
4 files changed, 24 insertions, 24 deletions
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp
index d13b97d..43fa647 100644
--- a/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -26,8 +26,8 @@ using namespace llvm;
char MemoryDependenceAnalysis::ID = 0;
-Instruction* MemoryDependenceAnalysis::NonLocal = (Instruction*)-3;
-Instruction* MemoryDependenceAnalysis::None = (Instruction*)-4;
+const Instruction* MemoryDependenceAnalysis::NonLocal = (Instruction*)-3;
+const Instruction* MemoryDependenceAnalysis::None = (Instruction*)-4;
// Register this pass...
static RegisterPass<MemoryDependenceAnalysis> X("memdep",
@@ -42,7 +42,7 @@ void MemoryDependenceAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
}
// Find the dependency of a CallSite
-Instruction* MemoryDependenceAnalysis::getCallSiteDependency(CallSite C, Instruction* start,
+const Instruction* MemoryDependenceAnalysis::getCallSiteDependency(CallSite C, Instruction* start,
BasicBlock* block) {
AliasAnalysis& AA = getAnalysis<AliasAnalysis>();
@@ -132,9 +132,9 @@ void MemoryDependenceAnalysis::nonLocalHelper(Instruction* query,
if (BB != block) {
visited.insert(BB);
- Instruction* localDep = getDependency(query, 0, BB);
+ const Instruction* localDep = getDependency(query, 0, BB);
if (localDep != NonLocal) {
- resp.insert(std::make_pair(BB, localDep));
+ resp.insert(std::make_pair(BB, const_cast<Instruction*>(localDep)));
stack.pop_back();
continue;
@@ -142,9 +142,9 @@ void MemoryDependenceAnalysis::nonLocalHelper(Instruction* query,
} else if (BB == block && stack.size() > 1) {
visited.insert(BB);
- Instruction* localDep = getDependency(query, 0, BB);
+ const Instruction* localDep = getDependency(query, 0, BB);
if (localDep != query)
- resp.insert(std::make_pair(BB, localDep));
+ resp.insert(std::make_pair(BB, const_cast<Instruction*>(localDep)));
stack.pop_back();
@@ -164,9 +164,9 @@ void MemoryDependenceAnalysis::nonLocalHelper(Instruction* query,
if (inserted)
continue;
else if (!inserted && !predOnStack) {
- resp.insert(std::make_pair(BB, None));
+ resp.insert(std::make_pair(BB, const_cast<Instruction*>(None)));
} else if (!inserted && predOnStack){
- resp.insert(std::make_pair(BB, NonLocal));
+ resp.insert(std::make_pair(BB, const_cast<Instruction*>(NonLocal)));
}
stack.pop_back();
@@ -175,9 +175,9 @@ void MemoryDependenceAnalysis::nonLocalHelper(Instruction* query,
void MemoryDependenceAnalysis::getNonLocalDependency(Instruction* query,
DenseMap<BasicBlock*, Value*>& resp) {
- Instruction* localDep = getDependency(query);
+ const Instruction* localDep = getDependency(query);
if (localDep != NonLocal) {
- resp.insert(std::make_pair(query->getParent(), localDep));
+ resp.insert(std::make_pair(query->getParent(), const_cast<Instruction*>(localDep)));
return;
}
@@ -187,20 +187,20 @@ void MemoryDependenceAnalysis::getNonLocalDependency(Instruction* query,
/// getDependency - Return the instruction on which a memory operation
/// depends. The local paramter indicates if the query should only
/// evaluate dependencies within the same basic block.
-Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query,
+const Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query,
Instruction* start,
BasicBlock* block) {
// Start looking for dependencies with the queried inst
BasicBlock::iterator QI = query;
// Check for a cached result
- std::pair<Instruction*, bool> cachedResult = depGraphLocal[query];
+ std::pair<const Instruction*, bool> cachedResult = depGraphLocal[query];
// If we have a _confirmed_ cached entry, return it
if (cachedResult.second)
return cachedResult.first;
else if (cachedResult.first && cachedResult.first != NonLocal)
// If we have an unconfirmed cached entry, we can start our search from there
- QI = cachedResult.first;
+ QI = const_cast<Instruction*>(cachedResult.first);
if (start)
QI = start;
@@ -342,7 +342,7 @@ Instruction* MemoryDependenceAnalysis::getDependency(Instruction* query,
/// updating the dependence of instructions that previously depended on it.
void MemoryDependenceAnalysis::removeInstruction(Instruction* rem) {
// Figure out the new dep for things that currently depend on rem
- Instruction* newDep = NonLocal;
+ const Instruction* newDep = NonLocal;
depMapType::iterator depGraphEntry = depGraphLocal.find(rem);
// We assume here that it's not in the reverse map if it's not in
@@ -352,7 +352,7 @@ void MemoryDependenceAnalysis::removeInstruction(Instruction* rem) {
if (depGraphEntry->second.first != NonLocal &&
depGraphEntry->second.second) {
// If we have dep info for rem, set them to it
- BasicBlock::iterator RI = depGraphEntry->second.first;
+ BasicBlock::iterator RI = const_cast<Instruction*>(depGraphEntry->second.first);
RI++;
newDep = RI;
} else if (depGraphEntry->second.first == NonLocal &&
diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 283fcbc..8cdccc6 100644
--- a/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -121,14 +121,14 @@ bool DSE::runOnBasicBlock(BasicBlock &BB) {
// ... to a pointer that has been stored to before...
if (last) {
- Instruction* dep = MD.getDependency(BBI);
+ Instruction* dep = const_cast<Instruction*>(MD.getDependency(BBI));
// ... and no other memory dependencies are between them....
while (dep != MemoryDependenceAnalysis::None &&
dep != MemoryDependenceAnalysis::NonLocal &&
isa<StoreInst>(dep)) {
if (dep != last) {
- dep = MD.getDependency(BBI, dep);
+ dep = const_cast<Instruction*>(MD.getDependency(BBI, dep));
continue;
}
@@ -154,7 +154,7 @@ bool DSE::runOnBasicBlock(BasicBlock &BB) {
if (FreeInst* F = dyn_cast<FreeInst>(BBI)) {
if (!deletedStore)
MadeChange |= handleFreeWithNonTrivialDependency(F,
- MD.getDependency(F),
+ const_cast<Instruction*>(MD.getDependency(F)),
possiblyDead);
// No known stores after the free
last = 0;
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index edd11e8..b8b58bd 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -803,7 +803,7 @@ bool GVN::processNonLocalLoad(LoadInst* L,
return false;
} else if (I->second == MemoryDependenceAnalysis::NonLocal) {
continue;
- }else if (StoreInst* S = dyn_cast<StoreInst>(I->second)) {
+ } else if (StoreInst* S = dyn_cast<StoreInst>(I->second)) {
if (S->getPointerOperand() == L->getPointerOperand())
repl[I->first] = S->getOperand(0);
else
@@ -856,7 +856,7 @@ bool GVN::processLoad(LoadInst* L,
// ... to a pointer that has been loaded from before...
MemoryDependenceAnalysis& MD = getAnalysis<MemoryDependenceAnalysis>();
- Instruction* dep = MD.getDependency(L);
+ Instruction* dep = const_cast<Instruction*>(MD.getDependency(L));
if (dep == MemoryDependenceAnalysis::NonLocal &&
L->getParent() != &L->getParent()->getParent()->getEntryBlock())
processNonLocalLoad(L, toErase);
@@ -895,7 +895,7 @@ bool GVN::processLoad(LoadInst* L,
break;
} else {
- dep = MD.getDependency(L, dep);
+ dep = const_cast<Instruction*>(MD.getDependency(L, dep));
}
}
diff --git a/lib/Transforms/Scalar/RedundantLoadElimination.cpp b/lib/Transforms/Scalar/RedundantLoadElimination.cpp
index 3b719df..2dace31 100644
--- a/lib/Transforms/Scalar/RedundantLoadElimination.cpp
+++ b/lib/Transforms/Scalar/RedundantLoadElimination.cpp
@@ -80,7 +80,7 @@ bool RLE::runOnBasicBlock(BasicBlock &BB) {
LoadInst*& last = lastLoad[pointer];
// ... to a pointer that has been loaded from before...
- Instruction* dep = MD.getDependency(BBI);
+ Instruction* dep = const_cast<Instruction*>(MD.getDependency(BBI));
bool deletedLoad = false;
while (dep != MemoryDependenceAnalysis::None &&
@@ -120,7 +120,7 @@ bool RLE::runOnBasicBlock(BasicBlock &BB) {
break;
} else {
- dep = MD.getDependency(BBI, dep);
+ dep = const_cast<Instruction*>(MD.getDependency(BBI, dep));
}
}