diff options
author | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:17:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:17:14 +0000 |
commit | 61c1e7e32def2978441c699dcf9943dbe14aad98 (patch) | |
tree | 8acbd2d1d8573913836e33ea267960de0a340438 | |
parent | bd70a31c51267a3ef4840877bdc0b98f590e94a6 (diff) | |
download | external_llvm-61c1e7e32def2978441c699dcf9943dbe14aad98.zip external_llvm-61c1e7e32def2978441c699dcf9943dbe14aad98.tar.gz external_llvm-61c1e7e32def2978441c699dcf9943dbe14aad98.tar.bz2 |
Do not hoist volatile loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8399 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Transforms/Scalar/LICM.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp index f2cf68b..4940566 100644 --- a/lib/Transforms/Scalar/LICM.cpp +++ b/lib/Transforms/Scalar/LICM.cpp @@ -316,7 +316,7 @@ bool LICM::SafeToHoist(Instruction &Inst) { void LICM::visitLoadInst(LoadInst &LI) { - if (isLoopInvariant(LI.getOperand(0)) && + if (isLoopInvariant(LI.getOperand(0)) && !LI.isVolatile() && !pointerInvalidatedByLoop(LI.getOperand(0)) && SafeToHoist(LI)) { hoist(LI); ++NumHoistedLoads; |