diff --git a/include/swift/SIL/SILInstruction.h b/include/swift/SIL/SILInstruction.h index 3e525237b5c..0e60d5c711d 100644 --- a/include/swift/SIL/SILInstruction.h +++ b/include/swift/SIL/SILInstruction.h @@ -52,8 +52,7 @@ enum class SILInstructionMemoryBehavior { /// result/users represent its effect. MayHaveSideEffects, /// \brief The instruction may write to memory. - MayWrite, - MayWriteAndHaveSideEffects + MayWrite }; enum IsTake_t { IsNotTake, IsTake }; diff --git a/include/swift/SIL/SILNodes.def b/include/swift/SIL/SILNodes.def index 00d5fbbbfa2..49f70f35ba0 100644 --- a/include/swift/SIL/SILNodes.def +++ b/include/swift/SIL/SILNodes.def @@ -140,7 +140,7 @@ ABSTRACT_VALUE(SILInstruction, ValueBase) // Protocol and Protocol Composition Types INST(InitExistentialInst, SILInstruction, MayWrite) INST(UpcastExistentialInst, SILInstruction, MayWrite) - INST(DeinitExistentialInst, SILInstruction, MayWriteAndHaveSideEffects) + INST(DeinitExistentialInst, SILInstruction, MayHaveSideEffects) INST(ProjectExistentialInst, SILInstruction, None) INST(InitExistentialRefInst, SILInstruction, None) INST(UpcastExistentialRefInst, SILInstruction, None) diff --git a/lib/SIL/SILInstruction.cpp b/lib/SIL/SILInstruction.cpp index 55c104fe17c..640efb39a0f 100644 --- a/lib/SIL/SILInstruction.cpp +++ b/lib/SIL/SILInstruction.cpp @@ -201,11 +201,9 @@ SILInstructionMemoryBehavior SILInstruction::getMemoryBehavior() const { bool SILInstruction::mayHaveSideEffects() const { SILInstructionMemoryBehavior B = getMemoryBehavior(); - if (B == SILInstructionMemoryBehavior::MayWrite || - B == SILInstructionMemoryBehavior::MayHaveSideEffects || - B == SILInstructionMemoryBehavior::MayWriteAndHaveSideEffects) - return true; - return false; + + return B == SILInstructionMemoryBehavior::MayWrite || + B == SILInstructionMemoryBehavior::MayHaveSideEffects; } //===----------------------------------------------------------------------===//