summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Instruction.h2
-rw-r--r--include/llvm/iMemory.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h
index 031730a..25be14f 100644
--- a/include/llvm/Instruction.h
+++ b/include/llvm/Instruction.h
@@ -39,7 +39,7 @@ public:
//
inline const BasicBlock *getParent() const { return Parent; }
inline BasicBlock *getParent() { return Parent; }
- bool hasSideEffects() const { return false; } // Memory & Call insts = true
+ virtual bool hasSideEffects() const { return false; } // Memory & Call insts
// ---------------------------------------------------------------------------
// Subclass classification... getInstType() returns a member of
diff --git a/include/llvm/iMemory.h b/include/llvm/iMemory.h
index feed3a2..fe045d7 100644
--- a/include/llvm/iMemory.h
+++ b/include/llvm/iMemory.h
@@ -95,6 +95,8 @@ public:
virtual Instruction *clone() const { return new FreeInst(Operands[0]); }
virtual const char *getOpcodeName() const { return "free"; }
+
+ virtual bool hasSideEffects() const { return true; }
};
@@ -155,6 +157,8 @@ public:
const string &Name = "");
virtual Instruction *clone() const { return new StoreInst(*this); }
virtual const char *getOpcodeName() const { return "store"; }
+
+ virtual bool hasSideEffects() const { return true; }
};