In the presence of ever-changing computer architectures, high-quality optimising compiler backends are moving targets that require specialist knowledge and sophisticated algorithms. In this paper, we explore a new backend for the Glasgow Haskell Compiler (GHC) that leverages the <i>Low Level Virtual Machine (LLVM)</i>, a new breed of compiler written explicitly for use by other compiler writers, not high-level programmers, that promises to enable outsourcing of low-level and architecture-dependent aspects of code generation. We discuss the conceptual challenges and our backend design. We also provide an extensive quantitative evaluation of the performance of the backend and of the code it produces.
%0 Conference Paper
%1 Terei:2010:LBG:1863523.1863538
%A Terei, David A.
%A Chakravarty, Manuel M.T.
%B Proceedings of the third ACM Haskell symposium on Haskell
%C New York, NY, USA
%D 2010
%I ACM
%K Compilation LLVM Target VM
%P 109--120
%R 10.1145/1863523.1863538
%T An LLVM Backend for GHC
%U http://doi.acm.org/10.1145/1863523.1863538
%X In the presence of ever-changing computer architectures, high-quality optimising compiler backends are moving targets that require specialist knowledge and sophisticated algorithms. In this paper, we explore a new backend for the Glasgow Haskell Compiler (GHC) that leverages the <i>Low Level Virtual Machine (LLVM)</i>, a new breed of compiler written explicitly for use by other compiler writers, not high-level programmers, that promises to enable outsourcing of low-level and architecture-dependent aspects of code generation. We discuss the conceptual challenges and our backend design. We also provide an extensive quantitative evaluation of the performance of the backend and of the code it produces.
%@ 978-1-4503-0252-4
@inproceedings{Terei:2010:LBG:1863523.1863538,
abstract = {In the presence of ever-changing computer architectures, high-quality optimising compiler backends are moving targets that require specialist knowledge and sophisticated algorithms. In this paper, we explore a new backend for the Glasgow Haskell Compiler (GHC) that leverages the <i>Low Level Virtual Machine (LLVM)</i>, a new breed of compiler written explicitly for use by other compiler writers, not high-level programmers, that promises to enable outsourcing of low-level and architecture-dependent aspects of code generation. We discuss the conceptual challenges and our backend design. We also provide an extensive quantitative evaluation of the performance of the backend and of the code it produces.},
acmid = {1863538},
added-at = {2011-08-03T18:50:39.000+0200},
address = {New York, NY, USA},
author = {Terei, David A. and Chakravarty, Manuel M.T.},
biburl = {https://www.bibsonomy.org/bibtex/24cc6124cc4c56a4f7a3361ff4e4c8548/gron},
booktitle = {Proceedings of the third ACM Haskell symposium on Haskell},
description = {An llVM backend for GHC},
doi = {10.1145/1863523.1863538},
interhash = {36734c11bf385da2f9a3abfbd4fbbdcc},
intrahash = {4cc6124cc4c56a4f7a3361ff4e4c8548},
isbn = {978-1-4503-0252-4},
keywords = {Compilation LLVM Target VM},
location = {Baltimore, Maryland, USA},
numpages = {12},
pages = {109--120},
publisher = {ACM},
series = {Haskell '10},
timestamp = {2011-08-03T18:50:39.000+0200},
title = {An LLVM Backend for GHC},
url = {http://doi.acm.org/10.1145/1863523.1863538},
year = 2010
}