| 44 | |
| 45 | |
| 46 | def generate_specialized_opmap(analysis: Analysis, out: CWriter) -> None: |
| 47 | out.emit("_specialized_opmap = frozendict(\n") |
| 48 | names = [] |
| 49 | seen = set() |
| 50 | for family in analysis.families.values(): |
| 51 | for member in family.members: |
| 52 | if member.name == family.name: |
| 53 | continue |
| 54 | if member.name in seen: |
| 55 | continue |
| 56 | seen.add(member.name) |
| 57 | names.append(member.name) |
| 58 | for name in sorted(names): |
| 59 | out.emit(f"{name}={analysis.opmap[name]},\n") |
| 60 | out.emit(")\n\n") |
| 61 | |
| 62 | |
| 63 | def generate_opmap(analysis: Analysis, out: CWriter) -> None: |