From 282072869ebb503782ed57ead93df7a7ad72290e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 9 Jul 2001 19:38:26 +0000 Subject: [PATCH] hasSideEffects should be marked virtual stores and free's have sideeffects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Instruction.h | 2 +- include/llvm/iMemory.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h index 031730a9759..25be14fbd21 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 feed3a2f883..fe045d72667 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; } };