Skip to content

Commit 3d304b9

Browse files
committed
Filter duplicate insns (reachable via multiple paths)
1 parent 3ca85e8 commit 3d304b9

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

riscvmodel/isa.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,14 +740,15 @@ def get_insns(*, cls=None, variant: Variant = RV32I):
740740
if cls is None:
741741
cls = Instruction
742742

743+
# This filters out abstract classes
743744
if cls.mnemonic:
744-
# This filters out abstract classes
745745
if variant is None or cls.variant <= variant:
746746
insns = [cls]
747747

748748
for subcls in cls.__subclasses__():
749749
insns += get_insns(cls=subcls, variant=variant)
750750

751+
insns = list(dict.fromkeys(insns)) # Remove duplicates
751752
return insns
752753

753754

0 commit comments

Comments
 (0)