def generate(isas, out_dir): # Generate shared settings. fmt = srcgen.Formatter() settings.group.qual_mod = 'settings' gen_group(settings.group, fmt) fmt.update_file('settings.rs', out_dir) # Generate ISA-specific settings. for isa in isas: isa.settings.qual_mod = 'isa::{}::settings'.format(isa.settings.name) fmt = srcgen.Formatter() gen_group(isa.settings, fmt) fmt.update_file('settings-{}.rs'.format(isa.name), out_dir)
def generate(isas, out_dir): groups = collect_instr_groups(isas) # opcodes.rs fmt = srcgen.Formatter() gen_formats(fmt) gen_instruction_data_impl(fmt) instrs = gen_opcodes(groups, fmt) gen_type_constraints(fmt, instrs) fmt.update_file('opcodes.rs', out_dir) # builder.rs fmt = srcgen.Formatter() gen_builder(instrs, fmt) fmt.update_file('builder.rs', out_dir)
def generate(isas, out_dir): # type: (Sequence[TargetISA], str) -> None groups = collect_instr_groups(isas) # opcodes.rs fmt = srcgen.Formatter() gen_formats(fmt) gen_instruction_data_impl(fmt) fmt.line() instrs = gen_opcodes(groups, fmt) gen_type_constraints(fmt, instrs) fmt.update_file('opcodes.rs', out_dir) # builder.rs fmt = srcgen.Formatter() gen_builder(instrs, fmt) fmt.update_file('builder.rs', out_dir)
def generate(isas, out_dir): # type: (Sequence[TargetISA], str) -> None for isa in isas: fmt = srcgen.Formatter() gen_isa(isa, fmt) fmt.update_file('binemit-{}.rs'.format(isa.name), out_dir)
def generate(out_dir): fmt = srcgen.Formatter() emit_types(fmt) fmt.update_file('types.rs', out_dir)
def generate(isas, out_dir): for isa in isas: fmt = srcgen.Formatter() gen_isa(isa, fmt) fmt.update_file('encoding-{}.rs'.format(isa.name), out_dir)