首页> 外文学位 >Generalized instruction selector generation: The automatic construction of instruction selectors from descriptions of compiler internal forms and target machines.
【24h】

Generalized instruction selector generation: The automatic construction of instruction selectors from descriptions of compiler internal forms and target machines.

机译:通用指令选择器生成:根据编译器内部形式和目标机器的描述自动构建指令选择器。

获取原文
获取原文并翻译 | 示例

摘要

One of the most difficult tasks a compiler writer faces is the construction of the instruction selector. The instruction selector is that part of the compiler that translates compiler intermediate representation (IR) into instructions for a target machine. Unfortunately, implementing an instruction selector "by hand" is a difficult, time consuming, and error prone task. The details of both the IR and target instruction set must be carefully considered in order to generate correct and efficient code. This, in turn, requires an expert in both the compiler internals as well as the target machine. Even an expert, however, can implement an instruction selector that is difficult to verify and debug. In this dissertation we describe the instruction selector problem, cover previous attempts at solving it, and identify what we believe to be the most prominent factor inhibiting their widespread adoption.;This dissertation proposes a generalized approach toward generating instruction selectors automatically. In particular, we propose CISL, a common machine description language for specifying the semantics of compiler IR and target instructions, and GIST, a machine independent heuristic search procedure that can find equivalent instruction sequences between compiler IR and target instructions. CISL is an object-oriented-based language leveraging modern programming language constructs (e.g., classes, inheritance, mixins) and is capable of describing instructions for a variety of IR and target ISAs (Instruction Set Architecture). GIST leverages CISLs well-defined semantics and a canonicalization process to discover automatically instruction selector patterns: target instruction sequences that implement IR semantics. These instruction selector patterns are then generated in a compiler implementation independent format (XML). Small adapter programs use the generated instruction selector patterns to generate compiler specific implementation code. Our experiments show that instruction selector patterns can be discovered automatically and independent of a particular compiler framework or target machine. In addition, experience proved that adapter programs are easy to implement and instruction selector code is easy to generate from generated patterns. Furthermore, the generated instruction selectors are comparable in performance to the original compilers.
机译:编译器编写者面临的最困难的任务之一是指令选择器的构造。指令选择器是编译器的一部分,它将编译器中间表示(IR)转换为目标机器的指令。不幸的是,“手动”实现指令选择器是一项困难,耗时且容易出错的任务。必须仔细考虑IR和目标指令集的细节,以便生成正确而有效的代码。反过来,这需要编译器内部以及目标计算机方面的专家。但是,即使是专家,也可以实现难以验证和调试的指令选择器。在本文中,我们描述了指令选择器的问题,涵盖了以前解决该问题的尝试,并确定了我们认为是阻碍其广泛采用的最主要因素。;本文提出了一种自动生成指令选择器的通用方法。特别是,我们提出CISL(一种用于指定编译器IR和目标指令的语义的通用机器描述语言)和GIST(一种与机器无关的启发式搜索过程,可以在编译器IR和目标指令之间找到等效的指令序列)。 CISL是一种利用现代编程语言构造(例如,类,继承,混合)的基于对象的语言,并且能够描述各种IR和目标ISA(指令集体系结构)的指令。 GIST利用CISL的明确定义的语义和规范化过程来自动发现指令选择器模式:实现IR语义的目标指令序列。然后,这些指令选择器模式以编译器实现独立格式(XML)生成。小型适配器程序使用生成的指令选择器模式来生成特定于编译器的实现代码。我们的实验表明,指令选择器模式可以自动发现,并且与特定的编译器框架或目标计算机无关。此外,经验证明,适配器程序易于实现,并且指令选择器代码易于从生成的模式生成。此外,生成的指令选择器在性能上可与原始编译器相媲美。

著录项

  • 作者

    Richards, Timothy D.;

  • 作者单位

    University of Massachusetts Amherst.;

  • 授予单位 University of Massachusetts Amherst.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2010
  • 页码 256 p.
  • 总页数 256
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

  • 入库时间 2022-08-17 11:37:26

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号