GH-104909: Split LOAD_ATTR_INSTANCE_VALUE into micro-ops (GH-106678)

This commit is contained in:
Mark Shannon 2023-07-13 16:36:19 +01:00 committed by GitHub
parent 32718f908c
commit 487861c6ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 87 additions and 46 deletions

View file

@ -839,19 +839,7 @@ class Analyzer:
)
else:
member_instr.family = family
elif member_macro := self.macro_instrs.get(member):
for part in member_macro.parts:
if isinstance(part, Component):
if part.instr.family not in (family, None):
self.error(
f"Component {part.instr.name} of macro {member} "
f"is a member of multiple families "
f"({part.instr.family.name}, {family.name}).",
family,
)
else:
part.instr.family = family
else:
elif not self.macro_instrs.get(member):
self.error(
f"Unknown instruction {member!r} referenced in family {family.name!r}",
family,