mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
As per my discussions with Anna, removed MayWriteAndHaveSideEffects.
The reason we decided to do this is that MayHaveSideEffects implies that a write can occur, making MayWriteAndHaveSideEffects redundent. Swift SVN r7943
This commit is contained in:
@@ -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 };
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
Reference in New Issue
Block a user