Add an other_side_effects instruction flag.

This is used to indicate instructions that have some side effect that is
not modelled by the more specific instruction flags.
This commit is contained in:
Jakob Stoklund Olesen
2017-07-12 09:15:40 -07:00
parent 7c438f866c
commit fc94ce7e8c

View File

@@ -90,6 +90,7 @@ class Instruction(object):
:param can_trap: This instruction can trap. :param can_trap: This instruction can trap.
:param can_load: This instruction can load from memory. :param can_load: This instruction can load from memory.
:param can_store: This instruction can store to memory. :param can_store: This instruction can store to memory.
:param other_side_effects: Instruction has other side effects.
""" """
# Boolean instruction attributes that can be passed as keyword arguments to # Boolean instruction attributes that can be passed as keyword arguments to
@@ -103,6 +104,8 @@ class Instruction(object):
'can_load': 'Can this instruction read from memory?', 'can_load': 'Can this instruction read from memory?',
'can_store': 'Can this instruction write to memory?', 'can_store': 'Can this instruction write to memory?',
'can_trap': 'Can this instruction cause a trap?', 'can_trap': 'Can this instruction cause a trap?',
'other_side_effects':
'Does this instruction have other side effects besides can_*',
} }
def __init__(self, name, doc, ins=(), outs=(), constraints=(), **kwargs): def __init__(self, name, doc, ins=(), outs=(), constraints=(), **kwargs):