mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Do not hoist volatile loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8399 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user