diff --git a/lib/cretonne/meta/cdsl/isa.py b/lib/cretonne/meta/cdsl/isa.py index 9fcfa440a3..064a353117 100644 --- a/lib/cretonne/meta/cdsl/isa.py +++ b/lib/cretonne/meta/cdsl/isa.py @@ -172,8 +172,7 @@ class TargetISA(object): """ for cpumode in self.cpumodes: self.legalize_code(cpumode.default_legalize) - for x in sorted(cpumode.type_legalize.values(), - key=lambda x: x.name): + for x in cpumode.type_legalize.values(): self.legalize_code(x) def legalize_code(self, xgrp): @@ -232,7 +231,7 @@ class CPUMode(object): # Tables for configuring legalization actions when no valid encoding # exists for an instruction. self.default_legalize = None # type: XFormGroup - self.type_legalize = dict() # type: Dict[ValueType, XFormGroup] + self.type_legalize = OrderedDict() # type: OrderedDict[ValueType, XFormGroup] # noqa def __str__(self): # type: () -> str diff --git a/lib/cretonne/meta/gen_encoding.py b/lib/cretonne/meta/gen_encoding.py index da382a1774..61ceb8d498 100644 --- a/lib/cretonne/meta/gen_encoding.py +++ b/lib/cretonne/meta/gen_encoding.py @@ -600,8 +600,8 @@ def make_tables(cpumode): table[ty][inst].encodings.append(enc) # Ensure there are level 1 table entries for all types with a custom - # legalize action. Try to be stable relative to dict ordering. - for ty in sorted(cpumode.type_legalize.keys(), key=str): + # legalize action. + for ty in cpumode.type_legalize.keys(): table[ty] return table