Hexagon (target/hexagon) Make generators object oriented - gen_op_regs

Reviewed-by: Brian Cain <bcain@quicinc.com>
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Message-Id: <20231210220712.491494-7-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
This commit is contained in:
Taylor Simpson 2023-12-10 15:07:09 -07:00 committed by Brian Cain
parent 1f03e9a94e
commit c90e3103a3

View File

@ -70,6 +70,7 @@ def strip_reg_prefix(x):
def main(): def main():
hex_common.read_semantics_file(sys.argv[1]) hex_common.read_semantics_file(sys.argv[1])
hex_common.read_attribs_file(sys.argv[2]) hex_common.read_attribs_file(sys.argv[2])
hex_common.init_registers()
tagregs = hex_common.get_tagregs(full=True) tagregs = hex_common.get_tagregs(full=True)
tagimms = hex_common.get_tagimms() tagimms = hex_common.get_tagimms()
@ -80,11 +81,12 @@ def main():
wregs = [] wregs = []
regids = "" regids = ""
for regtype, regid, _, numregs in regs: for regtype, regid, _, numregs in regs:
if hex_common.is_read(regid): reg = hex_common.get_register(tag, regtype, regid)
if reg.is_read():
if regid[0] not in regids: if regid[0] not in regids:
regids += regid[0] regids += regid[0]
rregs.append(regtype + regid + numregs) rregs.append(regtype + regid + numregs)
if hex_common.is_written(regid): if reg.is_written():
wregs.append(regtype + regid + numregs) wregs.append(regtype + regid + numregs)
if regid[0] not in regids: if regid[0] not in regids:
regids += regid[0] regids += regid[0]