Filters








394 Hits in 3.2 sec

Compiling a Higher-Order Smart Contract Language to LLVM [article]

Vaivaswatha Nagaraj, Jacob Johannsen, Anton Trunov, George Pîrlea, Amrit Kumar, Ilya Sergey
2020 arXiv   pre-print
In this talk, we describe a Scilla compiler targeting LLVM, with a focus on mapping Scilla types, values, and its functional language constructs to LLVM-IR.  ...  This talk abstract is aimed at both programming language researchers looking to implement an LLVM based compiler for their functional language, as well as at LLVM practitioners.  ...  Uncurrying As is common in functional programming languages, Scilla functions and their applications (calls) follow curried semantics [2] .  ... 
arXiv:2008.05555v1 fatcat:2ahfsnilmjckdc54ik3dvfiqkq

Type-safe runtime code generation: accelerate to LLVM

Trevor L. McDonell, Manuel M. T. Chakravarty, Vinod Grover, Ryan R. Newton
2015 SIGPLAN notices  
Embedded languages are often compiled at application runtime; thus, embedded compile-time errors become application runtime errors.  ...  Specifically, a rigorous type discipline reduces runtime errors due to bugs in both embedded language applications and the implementation of the embedded language compiler itself.  ...  Can you trust your compiler? GADT techniques are most readily applicable to embedded languages because type-level information is acquired "for free" from the host language type checker.  ... 
doi:10.1145/2887747.2804313 fatcat:amxpznfzajadhhhsjkw6i3fjfy

Type-safe runtime code generation: accelerate to LLVM

Trevor L. McDonell, Manuel M. T. Chakravarty, Vinod Grover, Ryan R. Newton
2015 Proceedings of the 8th ACM SIGPLAN Symposium on Haskell - Haskell 2015  
Embedded languages are often compiled at application runtime; thus, embedded compile-time errors become application runtime errors.  ...  Specifically, a rigorous type discipline reduces runtime errors due to bugs in both embedded language applications and the implementation of the embedded language compiler itself.  ...  Can you trust your compiler? GADT techniques are most readily applicable to embedded languages because type-level information is acquired "for free" from the host language type checker.  ... 
doi:10.1145/2804302.2804313 dblp:conf/haskell/McDonellCGN15 fatcat:zps4zwa7jrg3va2n2stjyipfr4

A New Compilation Flow for Software-Defined Radio Applications on Heterogeneous MPSoCs

Mickaël Dardaillon, Kevin Marquet, Tanguy Risset, Jérôme Martin, Henri-Pierre Charles
2016 ACM Transactions on Architecture and Code Optimization (TACO)  
The complex dataflow graph construction is handled by a new language and compilation flow, while we propose to use an existing language and front-end (LLVM) to construct the graph.  ...  language; and it permits easy simulation and functional validation.  ... 
doi:10.1145/2910583 fatcat:zvgvyrsahrbjlkretgonnbnbk4

A compilation flow for parametric dataflow

Mickaël Dardaillon, Kevin Marquet, Tanguy Risset, Jérôme Martin, Henri-Pierre Charles
2014 Proceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems - CASES '14  
Built on the LLVM compiler infrastructure, it offers an actor based C++ programming model to describe parametric graphs, a compilation front-end providing graph analysis features, and a retargetable back-end  ...  flow applied to compilation of 3GPP LTE-Advanced demodulation on a heterogeneous MPSoC with distributed scheduling features.  ...  optimized tools such as C compilers; it does not require to learn a new language; and it permits easy simulation and functional validation.  ... 
doi:10.1145/2656106.2656110 dblp:conf/cases/DardaillonMRMC14 fatcat:2mgcsosqlzejpdtvwyru5jasbm

Static analysis of energy consumption for LLVM IR programs

Neville Grech, Kyriakos Georgiou, James Pallister, Steve Kerrison, Jeremy Morse, Kerstin Eder
2015 Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems - SCOPES '15  
This approach can be applied to any languages targeting the LLVM toolchain, including C and XC or architectures such as ARM Cortex-M or XMOS xCORE, with a focus towards embedded platforms.  ...  Specifically, we target LLVM IR, a representation used by modern compilers, including Clang.  ...  We would like to thank our project partners at Roskilde University and at XMOS. Thanks also go to Samir Genaim for his help on how to best make use of the PUBS solver.  ... 
doi:10.1145/2764967.2764974 dblp:conf/scopes/GrechGPKME15 fatcat:wh6xs5q45rhplmdhoxxdhm7e3a

ENTRA: Whole-Systems Energy Transparency [article]

Kerstin Eder and John P. Gallagher and Pedro Lopez-Garcia and Henk Muller and Zorana Bankovic and Kyriakos Georgiou and Remy Haemmerle and Manuel V. Hermenegildo and Bishoksan Kafle and Steve Kerrison and Maja Kirkeby and Maximiliano Klemen and Xueliang Li and Umer Liqat and Jeremy Morse and Morten Rhiger and Mads Rosendahl
2016 arXiv   pre-print
We show how energy modelling of hardware is combined with static analysis to allow the programmer to understand the energy consumption of a program without executing it, thus enabling exploration of the  ...  Promoting energy efficiency to a first class system design goal is an important research challenge.  ...  The advantage is that this approach can be integrated more directly in the LLVM toolchain; in principle it is applicable to any languages targeting LLVM.  ... 
arXiv:1606.04074v2 fatcat:emcx2hfg3jdh7kfmgkzidnccke

MLIR: A Compiler Infrastructure for the End of Moore's Law [article]

Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, Jacques Pienaar, River Riddle, Tatiana Shpeisman, Nicolas Vasilache, Oleksandr Zinenko
2020 arXiv   pre-print
diverse use-cases to show research and educational opportunities for future programming languages, compilers, execution environments, and computer architecture.  ...  This work presents MLIR, a novel approach to building reusable and extensible compiler infrastructure.  ...  For example, the rise of out-of-tree dialects, increasing number of source language frontends using MLIR, possible application to Abstract Syntax Trees, and applications to structured data (like JSON,  ... 
arXiv:2002.11054v2 fatcat:vuudltlsljbudbj7r6cc2kf754

ENTRA: Whole-systems energy transparency

Kerstin Eder, John P. Gallagher, Pedro López-García, Henk Muller, Zorana Banković, Kyriakos Georgiou, Rémy Haemmerlé, Manuel V. Hermenegildo, Bishoksan Kafle, Steve Kerrison, Maja Kirkeby, Maximiliano Klemen (+5 others)
2016 Microprocessors and microsystems  
We show how energy modelling of hardware is combined with static analysis to allow the programmer to understand the energy consumption of a program without executing it, thus enabling exploration of the  ...  Promoting energy efficiency to a first class system design goal is an important research challenge.  ...  The advantage is that this approach can be integrated more directly in the LLVM toolchain; in principle it is applicable to any languages targeting LLVM.  ... 
doi:10.1016/j.micpro.2016.07.003 fatcat:3j42e5gytze63bjh3mti4yugie

Polly-ACC Transparent compilation to heterogeneous hardware

Tobias Grosser, Torsten Hoefler
2016 Proceedings of the 2016 International Conference on Supercomputing - ICS '16  
Programming today's increasingly complex heterogeneous hardware is difficult, as it commonly requires the use of data-parallel languages, pragma annotations, specialized libraries, or DSL compilers.  ...  We propose a new heterogeneous compiler that brings us closer to the dream of automatic accelerator mapping.  ...  Sven Verdoolaege for their comments, Armin Groesslinger and Christian Lengauer for compute resources, the whole Polly and isl community for their continuous development as well as Yabin Hu, who's work with  ... 
doi:10.1145/2925426.2926286 dblp:conf/ics/GrosserH16 fatcat:fek7fcdhuzajvlps73pulkzz6i

Validating optimizations of concurrent C/C++ programs

Soham Chakraborty, Viktor Vafeiadis
2016 Proceedings of the 2016 International Symposium on Code Generation and Optimization - CGO 2016  
We use a custom C11 concurrent program generator to trigger multiple LLVM optimizations and evaluate the efficacy of our validator.  ...  We present a validator for checking the correctness of LLVM compiler optimizations on C11 programs as far as concurrency is concerned.  ...  Acknowledgments We would like to thank Marko Doko, Ori Lahav, and the anonymous reviewers for their comments that improved the content of this paper.  ... 
doi:10.1145/2854038.2854051 dblp:conf/cgo/ChakrabortyV16 fatcat:fa36gt6bqngcrmxcpteqbfhwdu

Scalable validation of binary lifters

Sandeep Dasgupta, Sushant Dinesh, Deepan Venkatesh, Vikram S. Adve, Christopher W. Fletcher
2020 Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation  
, or malware), but also avoids the need to trust the correctness of compilers.  ...  The translation validation of instructions in isolation revealed 29 new bugs in McSema -a mature open-source lifter from x86-64 to LLVM IR.  ...  The K framework provides a language-parametric, reachability logic theorem prover [197, 198] .  ... 
doi:10.1145/3385412.3385964 dblp:conf/pldi/DasguptaDVAF20 fatcat:3khjl5gbmnetjay23fk3sc2ktu

BHive: A Benchmark Suite and Measurement Framework for Validating x86-64 Basic Block Performance Models

Yishen Chen, Ajay Brahmakshatriya, Charith Mendis, Alex Renda, Eric Atkinson, Ondrej Sykora, Saman Amarasinghe, Michael Carbin
2019 2019 IEEE International Symposium on Workload Characterization (IISWC)  
We used BHive to evaluate four existing performance models: IACA, llvm-mca, Ithemal, and OSACA.  ...  We used this profiler to build BHive, a benchmark for systematic validation of performance models of x86-64 basic blocks.  ...  We compiled all applications with the highest optimization settings defined by their build systems.  ... 
doi:10.1109/iiswc47752.2019.9042166 dblp:conf/iiswc/ChenBMRASAC19 fatcat:xlyiy2vgefbdxiq3yh2vigfsoa

A hybrid just-in-time compiler for android

Guillermo A. Perez, Chung-Min Kao, Yeh-Ching Chung, Wei-Chung Hsu
2012 Proceedings of the 2012 international conference on Compilers, architectures and synthesis for embedded systems - CASES '12  
We developed a methodbased JIT compiler based on the Low Level Virtual Machine framework that delivers performance improvement comparable to that of an Ahead-Of-Time compiler.  ...  The Dalvik virtual machine is the main application platform running on Google's Android operating system for mobile devices and tablets.  ...  Finally, if the method contains only desired instructions then the second pass will translate all DEX instructions into LLVM IR, validate and compile it to memory.  ... 
doi:10.1145/2380403.2380418 dblp:conf/cases/PerezKCH12 fatcat:eqpo4wmwlvdc3i62enincdrk7e

Stella

David Mohr, Darko Stefanovic
2016 Proceedings of the 31st Annual ACM Symposium on Applied Computing - SAC '16  
ii c 2015, David Mohr iii Dedication To all the open source and free software developers. iv  ...  LLVM Primer The compiler construction toolchain LLVM [34] is a general compiler framework with an initial focus on C and C++.  ...  LLVM Compiler construction toolkit based on the LLVM intermediate representation (LLVM IR), a typed assembly language. It offers both a regular ahead-of-time compiler, as well as a JIT compiler.  ... 
doi:10.1145/2851613.2851749 dblp:conf/sac/MohrS16 fatcat:s22ijkx5vjgpvgmlkjvxv5hrse
« Previous Showing results 1 — 15 out of 394 results