Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate code
-
Published:2011-01-26
Issue:1
Volume:46
Page:575-586
-
ISSN:0362-1340
-
Container-title:ACM SIGPLAN Notices
-
language:en
-
Short-container-title:SIGPLAN Not.
Author:
Ramsey Norman1,
Dias João1
Affiliation:
1. Tufts University, Medford, MA, USA
Abstract
We present a novel variation on the standard technique of selecting instructions by tiling an intermediate-code tree. Typical compilers use a different set of tiles for every target machine. By analyzing a formal model of machine-level computation, we have developed a single set of tiles that is
machine-independent
while retaining the expressive power of machine code. Using this tileset, we reduce the number of tilers required from one per machine to one per architectural family (e.g., register architecture or stack architecture). Because the tiler is the part of the instruction selector that is most difficult to reason about, our technique makes it possible to retarget an instruction selector with significantly less effort than standard techniques. Retargeting effort is further reduced by applying an earlier result which generates the machine-dependent implementation of our tileset automatically from a declarative description of instructions' semantics. Our design has the additional benefit of enabling modular reasoning about three aspects of code generation that are not typically separated: the semantics of the compiler's intermediate representation, the semantics of the target instruction set, and the techniques needed to generate
good
target code.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference26 articles.
1. Code generation using tree matching and dynamic programming
2. Andrew W. Appel. 1998. Modern Compiler Implementation. Cambridge University Press Cambridge UK. Available in three editions: C Java and ML. Andrew W. Appel. 1998. Modern Compiler Implementation. Cambridge University Press Cambridge UK. Available in three editions: C Java and ML.
3. A portable global optimizer and linker
4. Automatic Derivation of Code Generators from Machine Descriptions
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献