aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-02-24 20:48:32 +0000
committerChris Lattner <sabre@nondot.org>2003-02-24 20:48:32 +0000
commitf0a93ed9c59d706494496c6fe4e8354864d24aa7 (patch)
tree814a9c9517aedfe89b7f2e08cf58314ea3633d06
parent9971ac4a36c54488bcdf55d7e493ac0cd6dc168a (diff)
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Instruction.h4
-rw-r--r--include/llvm/iMemory.h4
-rw-r--r--include/llvm/iOther.h2
-rw-r--r--include/llvm/iTerminators.h2
-rw-r--r--lib/Transforms/Scalar/ADCE.cpp2
-rw-r--r--lib/Transforms/Scalar/Reassociate.cpp2
-rw-r--r--lib/Transforms/Utils/Local.cpp2
7 files changed, 10 insertions, 8 deletions
diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h
index ca01e30fe5..5f61b2d410 100644
--- a/include/llvm/Instruction.h
+++ b/include/llvm/Instruction.h
@@ -55,7 +55,9 @@ public:
Instruction *getPrev() { return Prev; }
const Instruction *getPrev() const { return Prev; }
- virtual bool hasSideEffects() const { return false; } // Memory & Call insts
+ /// mayWriteToMemory - Return true if this instruction may modify memory.
+ ///
+ virtual bool mayWriteToMemory() const { return false; }
// ---------------------------------------------------------------------------
/// Subclass classification... getOpcode() returns a member of
diff --git a/include/llvm/iMemory.h b/include/llvm/iMemory.h
index e42f5b993b..09c94a2c77 100644
--- a/include/llvm/iMemory.h
+++ b/include/llvm/iMemory.h
@@ -120,7 +120,7 @@ struct FreeInst : public Instruction {
virtual Instruction *clone() const { return new FreeInst(Operands[0]); }
- virtual bool hasSideEffects() const { return true; }
+ virtual bool mayWriteToMemory() const { return true; }
// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const FreeInst *) { return true; }
@@ -177,7 +177,7 @@ public:
StoreInst(Value *Val, Value *Ptr, Instruction *InsertBefore = 0);
virtual Instruction *clone() const { return new StoreInst(*this); }
- virtual bool hasSideEffects() const { return true; }
+ virtual bool mayWriteToMemory() const { return true; }
Value *getPointerOperand() { return getOperand(1); }
const Value *getPointerOperand() const { return getOperand(1); }
diff --git a/include/llvm/iOther.h b/include/llvm/iOther.h
index 026134f276..5ad3d0a66d 100644
--- a/include/llvm/iOther.h
+++ b/include/llvm/iOther.h
@@ -60,7 +60,7 @@ public:
Instruction* InsertBefore = 0);
virtual Instruction *clone() const { return new CallInst(*this); }
- bool hasSideEffects() const { return true; }
+ bool mayWriteToMemory() const { return true; }
const Function *getCalledFunction() const {
return dyn_cast<Function>(Operands[0].get());
diff --git a/include/llvm/iTerminators.h b/include/llvm/iTerminators.h
index 85c2c8b4ef..0101f85d4b 100644
--- a/include/llvm/iTerminators.h
+++ b/include/llvm/iTerminators.h
@@ -196,7 +196,7 @@ public:
virtual Instruction *clone() const { return new InvokeInst(*this); }
- bool hasSideEffects() const { return true; }
+ bool mayWriteToMemory() const { return true; }
// getCalledFunction - Return the function called, or null if this is an
// indirect function invocation...
diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp
index 24ccee6034..e7bc1357ff 100644
--- a/lib/Transforms/Scalar/ADCE.cpp
+++ b/lib/Transforms/Scalar/ADCE.cpp
@@ -154,7 +154,7 @@ bool ADCE::doADCE() {
BBI != BBE; ++BBI) {
BasicBlock *BB = *BBI;
for (BasicBlock::iterator II = BB->begin(), EI = BB->end(); II != EI; ) {
- if (II->hasSideEffects() || II->getOpcode() == Instruction::Ret) {
+ if (II->mayWriteToMemory() || II->getOpcode() == Instruction::Ret) {
markInstructionLive(II);
++II; // Increment the inst iterator if the inst wasn't deleted
} else if (isInstructionTriviallyDead(II)) {
diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp
index 4212e6ae69..df0a64188f 100644
--- a/lib/Transforms/Scalar/Reassociate.cpp
+++ b/lib/Transforms/Scalar/Reassociate.cpp
@@ -74,7 +74,7 @@ unsigned Reassociate::getRank(Value *V) {
if (I->getOpcode() == Instruction::PHINode ||
I->getOpcode() == Instruction::Alloca ||
I->getOpcode() == Instruction::Malloc || isa<TerminatorInst>(I) ||
- I->hasSideEffects())
+ I->mayWriteToMemory()) // Cannot move inst if it writes to memory!
return RankMap[I->getParent()];
unsigned &CachedRank = InstRankMap[I];
diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp
index 10028bacec..8f67e111a7 100644
--- a/lib/Transforms/Utils/Local.cpp
+++ b/lib/Transforms/Utils/Local.cpp
@@ -91,7 +91,7 @@ bool ConstantFoldTerminator(BasicBlock *BB) {
//
bool isInstructionTriviallyDead(Instruction *I) {
- return I->use_empty() && !I->hasSideEffects() && !isa<TerminatorInst>(I);
+ return I->use_empty() && !I->mayWriteToMemory() && !isa<TerminatorInst>(I);
}
// dceInstruction - Inspect the instruction at *BBI and figure out if it's