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