Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

An llVM backend for GHC

View through CrossRef
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 Low Level Virtual Machine (LLVM) , 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.
Association for Computing Machinery (ACM)
Title: An llVM backend for GHC
Description:
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 Low Level Virtual Machine (LLVM) , 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.

Related Results

Chimpanzees communicate to coordinate a cultural practice
Chimpanzees communicate to coordinate a cultural practice
Abstract Human culture thrives by virtue of communication, yet whether communication plays an influential role in the cultural lives of other animals remains unders...
Injective type families for Haskell
Injective type families for Haskell
Haskell, as implemented by the Glasgow Haskell Compiler (GHC), allows expressive type-level programming. The most popular type-level programming extension is TypeFamilies, which al...
Restructuring Arsitektur Backend Aplikasi XYZ Berbasis Microservice
Restructuring Arsitektur Backend Aplikasi XYZ Berbasis Microservice
This research aimed to restructure the backend architecture of the XYZ application prototype using Microservice architecture. Load testing was conducted to compare the performance ...
Actor-critic based on Attention Model for Multi-robotCollaborative Backend Optimization
Actor-critic based on Attention Model for Multi-robotCollaborative Backend Optimization
Abstract Backend optimization is an essential component of simultaneous localization and mapping (SLAM).Collaborative backend optimization in multi-robot systems re...
Optimization based on LLVM global instruction selection
Optimization based on LLVM global instruction selection
Abstract Instruction selection is a key component of code generation. High-quality instruction selection has a great impact on the size and quality of the generated ...
Lower your guards: a compositional pattern-match coverage checker
Lower your guards: a compositional pattern-match coverage checker
A compiler should warn if a function defined by pattern matching does not cover its inputs—that is, if there are missing or redundant patterns. Generating such warnings accurately ...
WfExS-backend in the WRROC world?
WfExS-backend in the WRROC world?
Workflow Execution Service Backend (WfExS-backend) is a high-level orchestrator to run scientific workflows reproducibly. It acquires workflows, containers and inputs  from a distr...

Back to Top