A provably sound TAL for back-end optimization

Juan Chen, Dinghao Wu, Andrew W. Appel, Hai Fang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

21 Citations (Scopus)

Abstract

Typed assembly languages provide a way to generate machine checkable safety proofs for machine-language programs. But the soundness proofs of most existing typed assembly languages are hand-written and cannot be machine-checked, which is worrisome for such large calculi. We have designed and implemented a low-level typed assembly language (LTAL) with a semantic model and established its soundness from the model. Compared to existing typed assembly languages, LTAL is more scalable and more secure; it has no macro instructions that hinder low-level optimizations such as instruction scheduling; its type constructors are expressive enough to capture dataflow information, support the compiler's choice of data representations and permit typed position-independent code; and its type-checking algorithm is completely syntax-directed. We have built a prototype system, based on Standard ML of New Jersey, that compiles most of core ML to Sparc code. We explain how we were able to make the untyped back end in SML/NJ preserve types during instruction selection and register allocation, without restricting low-level optimizations and without knowledge of any type system pervading the instruction selector and register allocator.

Original languageEnglish (US)
Title of host publicationProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Pages208-219
Number of pages12
StatePublished - 2003
EventACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: Jun 9 2003Jun 11 2003

Other

OtherACM SIGPLAN Conference on Programming Language Design and Implementation
CountryUnited States
CitySan Diego, CA
Period6/9/036/11/03

Fingerprint

Acoustic waves
Macros
Semantics
Scheduling

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Chen, J., Wu, D., Appel, A. W., & Fang, H. (2003). A provably sound TAL for back-end optimization. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 208-219)
Chen, Juan ; Wu, Dinghao ; Appel, Andrew W. ; Fang, Hai. / A provably sound TAL for back-end optimization. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2003. pp. 208-219
@inproceedings{d40738a6d40143ceab3cff11e6a26666,
title = "A provably sound TAL for back-end optimization",
abstract = "Typed assembly languages provide a way to generate machine checkable safety proofs for machine-language programs. But the soundness proofs of most existing typed assembly languages are hand-written and cannot be machine-checked, which is worrisome for such large calculi. We have designed and implemented a low-level typed assembly language (LTAL) with a semantic model and established its soundness from the model. Compared to existing typed assembly languages, LTAL is more scalable and more secure; it has no macro instructions that hinder low-level optimizations such as instruction scheduling; its type constructors are expressive enough to capture dataflow information, support the compiler's choice of data representations and permit typed position-independent code; and its type-checking algorithm is completely syntax-directed. We have built a prototype system, based on Standard ML of New Jersey, that compiles most of core ML to Sparc code. We explain how we were able to make the untyped back end in SML/NJ preserve types during instruction selection and register allocation, without restricting low-level optimizations and without knowledge of any type system pervading the instruction selector and register allocator.",
author = "Juan Chen and Dinghao Wu and Appel, {Andrew W.} and Hai Fang",
year = "2003",
language = "English (US)",
pages = "208--219",
booktitle = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",

}

Chen, J, Wu, D, Appel, AW & Fang, H 2003, A provably sound TAL for back-end optimization. in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). pp. 208-219, ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, CA, United States, 6/9/03.

A provably sound TAL for back-end optimization. / Chen, Juan; Wu, Dinghao; Appel, Andrew W.; Fang, Hai.

Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2003. p. 208-219.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - A provably sound TAL for back-end optimization

AU - Chen, Juan

AU - Wu, Dinghao

AU - Appel, Andrew W.

AU - Fang, Hai

PY - 2003

Y1 - 2003

N2 - Typed assembly languages provide a way to generate machine checkable safety proofs for machine-language programs. But the soundness proofs of most existing typed assembly languages are hand-written and cannot be machine-checked, which is worrisome for such large calculi. We have designed and implemented a low-level typed assembly language (LTAL) with a semantic model and established its soundness from the model. Compared to existing typed assembly languages, LTAL is more scalable and more secure; it has no macro instructions that hinder low-level optimizations such as instruction scheduling; its type constructors are expressive enough to capture dataflow information, support the compiler's choice of data representations and permit typed position-independent code; and its type-checking algorithm is completely syntax-directed. We have built a prototype system, based on Standard ML of New Jersey, that compiles most of core ML to Sparc code. We explain how we were able to make the untyped back end in SML/NJ preserve types during instruction selection and register allocation, without restricting low-level optimizations and without knowledge of any type system pervading the instruction selector and register allocator.

AB - Typed assembly languages provide a way to generate machine checkable safety proofs for machine-language programs. But the soundness proofs of most existing typed assembly languages are hand-written and cannot be machine-checked, which is worrisome for such large calculi. We have designed and implemented a low-level typed assembly language (LTAL) with a semantic model and established its soundness from the model. Compared to existing typed assembly languages, LTAL is more scalable and more secure; it has no macro instructions that hinder low-level optimizations such as instruction scheduling; its type constructors are expressive enough to capture dataflow information, support the compiler's choice of data representations and permit typed position-independent code; and its type-checking algorithm is completely syntax-directed. We have built a prototype system, based on Standard ML of New Jersey, that compiles most of core ML to Sparc code. We explain how we were able to make the untyped back end in SML/NJ preserve types during instruction selection and register allocation, without restricting low-level optimizations and without knowledge of any type system pervading the instruction selector and register allocator.

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

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

M3 - Conference contribution

AN - SCOPUS:0038716446

SP - 208

EP - 219

BT - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

ER -

Chen J, Wu D, Appel AW, Fang H. A provably sound TAL for back-end optimization. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2003. p. 208-219