diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 8f6cbbdfda..c30ec5f47c 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -20,7 +20,7 @@ #include "llvm/Transforms/IPO.h" #include "llvm/Constants.h" -#include "llvm/iMemory.h" +#include "llvm/Instructions.h" #include "llvm/Module.h" #include "llvm/Pass.h" #include "Support/Debug.h" @@ -57,7 +57,7 @@ static bool isStoredThrough(Value *V) { } else if (Instruction *I = dyn_cast<Instruction>(*UI)) { if (I->getOpcode() == Instruction::GetElementPtr) { if (isStoredThrough(I)) return true; - } else if (!isa<LoadInst>(*UI)) + } else if (!isa<LoadInst>(*UI) && !isa<SetCondInst>(*UI)) return true; // Any other non-load instruction might store! } else { // Otherwise must be a global or some other user. |