mirror of
https://github.com/RRZE-HPC/OSACA.git
synced 2025-12-16 09:00:05 +01:00
added a couple of attributes
This commit is contained in:
@@ -10,12 +10,16 @@ class ImmediateOperand(Operand):
|
||||
TYPE_ID=None,
|
||||
VALUE_ID=None,
|
||||
SHIFT_ID=None,
|
||||
SOURCE=False,
|
||||
DESTINATION=False
|
||||
):
|
||||
super().__init__(str(VALUE_ID))
|
||||
self._IDENTIFIER_ID = IDENTIFIER_ID
|
||||
self._TYPE_ID = TYPE_ID
|
||||
self._VALUE_ID = VALUE_ID
|
||||
self._SHIFT_ID = SHIFT_ID
|
||||
self._SOURCE = SOURCE
|
||||
self._DESTINATION = DESTINATION
|
||||
|
||||
@property
|
||||
def identifier(self):
|
||||
@@ -33,6 +37,22 @@ class ImmediateOperand(Operand):
|
||||
def shift(self):
|
||||
return self._TYPE_ID
|
||||
|
||||
@property
|
||||
def source(self):
|
||||
return self._SOURCE
|
||||
|
||||
@source.setter
|
||||
def source(self, source):
|
||||
self._SOURCE = source
|
||||
|
||||
@property
|
||||
def destination(self):
|
||||
return self._DESTINATION
|
||||
|
||||
@destination.setter
|
||||
def destination(self, destination):
|
||||
self._DESTINATION = destination
|
||||
|
||||
@identifier.setter
|
||||
def identifier(self, identifier):
|
||||
self._IDENTIFIER_ID = identifier
|
||||
|
||||
@@ -8,15 +8,22 @@ class InstructionForm:
|
||||
self,
|
||||
INSTRUCTION_ID=None,
|
||||
OPERANDS_ID=[],
|
||||
HIDDEN_OPERANDS=[],
|
||||
DIRECTIVE_ID=None,
|
||||
COMMENT_ID=None,
|
||||
LABEL_ID=None,
|
||||
LINE=None,
|
||||
LINE_NUMBER=None,
|
||||
SEMANTIC_OPERANDS=None,
|
||||
SEMANTIC_OPERANDS={"source": [], "destination": [], "src_dst": []},
|
||||
THROUGHPUT = None,
|
||||
LATENCY = None,
|
||||
UOPS = None,
|
||||
PORT_PRESSURE = None,
|
||||
BREAKS_DEP = False
|
||||
):
|
||||
self._INSTRUCTION_ID = INSTRUCTION_ID
|
||||
self._OPERANDS_ID = OPERANDS_ID
|
||||
self._HIDDEN_OPERANDS = HIDDEN_OPERANDS
|
||||
self._DIRECTIVE_ID = DIRECTIVE_ID
|
||||
self._COMMENT_ID = COMMENT_ID
|
||||
self._LABEL_ID = LABEL_ID
|
||||
@@ -24,14 +31,15 @@ class InstructionForm:
|
||||
self._LINE_NUMBER = LINE_NUMBER
|
||||
|
||||
self._SEMANTIC_OPERANDS = SEMANTIC_OPERANDS
|
||||
self._UOPS = None
|
||||
self._UOPS = UOPS
|
||||
self._BREAKS_DEP = BREAKS_DEP
|
||||
# self.semantic_operands = {"source": [], "destination": [], "src_dst": []}
|
||||
self._LATENCY = None
|
||||
self._THROUGHPUT = None
|
||||
self._LATENCY = LATENCY
|
||||
self._THROUGHPUT = THROUGHPUT
|
||||
self._LATENCY_CP = []
|
||||
self._LATENCY_LCD = []
|
||||
self._LATENCY_WO_LOAD = None
|
||||
self._PORT_PRESSURE = []
|
||||
self._PORT_PRESSURE = PORT_PRESSURE
|
||||
self._PORT_UOPS = []
|
||||
self._FLAGS = []
|
||||
|
||||
@@ -67,6 +75,10 @@ class InstructionForm:
|
||||
def operands(self):
|
||||
return self._OPERANDS_ID
|
||||
|
||||
@property
|
||||
def hidden_operands(self):
|
||||
return self._HIDDEN_OPERANDS
|
||||
|
||||
@property
|
||||
def port_pressure(self):
|
||||
return self._PORT_PRESSURE
|
||||
@@ -79,6 +91,10 @@ class InstructionForm:
|
||||
def flags(self):
|
||||
return self._FLAGS
|
||||
|
||||
@property
|
||||
def uops(self):
|
||||
return self._UOPS
|
||||
|
||||
@property
|
||||
def throughput(self):
|
||||
return self._THROUGHPUT
|
||||
@@ -91,6 +107,10 @@ class InstructionForm:
|
||||
def latency_wo_load(self):
|
||||
return self._LATENCY_WO_LOAD
|
||||
|
||||
@property
|
||||
def breaks_dep(self):
|
||||
return self._BREAKS_DEP
|
||||
|
||||
@semantic_operands.setter
|
||||
def semantic_operands(self, semantic_operands):
|
||||
self._SEMANTIC_OPERANDS = semantic_operands
|
||||
@@ -111,6 +131,14 @@ class InstructionForm:
|
||||
def operands(self, operands):
|
||||
self._OPERANDS_ID = operands
|
||||
|
||||
@hidden_operands.setter
|
||||
def hidden_operands(self, hidden_operands):
|
||||
self._HIDDEN_OPERANDS = hidden_operands
|
||||
|
||||
@breaks_dep.setter
|
||||
def breaks_dep(self, boolean):
|
||||
self._BREAKS_DEP = boolean
|
||||
|
||||
@instruction.setter
|
||||
def instruction(self, instruction):
|
||||
self._INSTRUCTION_ID = instruction
|
||||
@@ -135,6 +163,10 @@ class InstructionForm:
|
||||
def flags(self, flags):
|
||||
self._FLAGS = flags
|
||||
|
||||
@uops.setter
|
||||
def uops(self, uops):
|
||||
self._UOPS = uops
|
||||
|
||||
@throughput.setter
|
||||
def throughput(self, throughput):
|
||||
self._THROUGHPUT = throughput
|
||||
|
||||
Reference in New Issue
Block a user