Automatic derivation of compiler machine descriptions

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

We describe a method designed to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg. A prototype automatic Architecture Discovery Tool (called ADT) has been implemented. This tool is completely automatic and requires minimal input from the user. Given the Internet address of the target machine and the command-lines by which the native C compiler, assembler, and linker are invoked, ADT will generate a BEG machine specification containing the register set, addressing modes, instruction set, and instruction timings for the architecture. The current version of ADT is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX and Intel x86.

Original languageEnglish (US)
Pages (from-to)369-408
Number of pages40
JournalACM Transactions on Programming Languages and Systems
Volume24
Issue number4
DOIs
StatePublished - Jul 2002

Fingerprint

Reduced instruction set computing
Sun
Internet
Specifications

Keywords

  • D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement - Portability
  • D.3.2 [Programming Languages]: Language Classifications - Macro and assembly languages

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

Automatic derivation of compiler machine descriptions. / Collberg, Christian S.

In: ACM Transactions on Programming Languages and Systems, Vol. 24, No. 4, 07.2002, p. 369-408.

Research output: Contribution to journalArticle

@article{315b7116f8224306ba685c68cb02cd1c,
title = "Automatic derivation of compiler machine descriptions",
abstract = "We describe a method designed to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg. A prototype automatic Architecture Discovery Tool (called ADT) has been implemented. This tool is completely automatic and requires minimal input from the user. Given the Internet address of the target machine and the command-lines by which the native C compiler, assembler, and linker are invoked, ADT will generate a BEG machine specification containing the register set, addressing modes, instruction set, and instruction timings for the architecture. The current version of ADT is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX and Intel x86.",
keywords = "D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement - Portability, D.3.2 [Programming Languages]: Language Classifications - Macro and assembly languages",
author = "Collberg, {Christian S}",
year = "2002",
month = "7",
doi = "10.1145/567097.567100",
language = "English (US)",
volume = "24",
pages = "369--408",
journal = "ACM Transactions on Programming Languages and Systems",
issn = "0164-0925",
publisher = "Association for Computing Machinery (ACM)",
number = "4",

}

TY - JOUR

T1 - Automatic derivation of compiler machine descriptions

AU - Collberg, Christian S

PY - 2002/7

Y1 - 2002/7

N2 - We describe a method designed to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg. A prototype automatic Architecture Discovery Tool (called ADT) has been implemented. This tool is completely automatic and requires minimal input from the user. Given the Internet address of the target machine and the command-lines by which the native C compiler, assembler, and linker are invoked, ADT will generate a BEG machine specification containing the register set, addressing modes, instruction set, and instruction timings for the architecture. The current version of ADT is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX and Intel x86.

AB - We describe a method designed to significantly reduce the effort required to retarget a compiler to a new architecture, while at the same time producing fast and effective compilers. The basic idea is to use the native C compiler at compiler construction time to discover architectural features of the new architecture. From this information a formal machine description is produced. Given this machine description, a native code-generator can be generated by a back-end generator such as BEG or burg. A prototype automatic Architecture Discovery Tool (called ADT) has been implemented. This tool is completely automatic and requires minimal input from the user. Given the Internet address of the target machine and the command-lines by which the native C compiler, assembler, and linker are invoked, ADT will generate a BEG machine specification containing the register set, addressing modes, instruction set, and instruction timings for the architecture. The current version of ADT is general enough to produce machine descriptions for the integer instruction sets of common RISC and CISC architectures such as the Sun SPARC, Digital Alpha, MIPS, DEC VAX and Intel x86.

KW - D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement - Portability

KW - D.3.2 [Programming Languages]: Language Classifications - Macro and assembly languages

UR - http://www.scopus.com/inward/record.url?scp=0038895759&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0038895759&partnerID=8YFLogxK

U2 - 10.1145/567097.567100

DO - 10.1145/567097.567100

M3 - Article

AN - SCOPUS:0038895759

VL - 24

SP - 369

EP - 408

JO - ACM Transactions on Programming Languages and Systems

JF - ACM Transactions on Programming Languages and Systems

SN - 0164-0925

IS - 4

ER -