Results 141 to 150 of about 406 (180)
Some of the next articles are maybe not open access.

Devirtualization in LLVM

Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, 2017
Devirtualization is an optimization changing indirect (virtual) calls to direct calls. It improves performance by allowing extra inlining and removal of redundant loads. This paper presents a novel way of handling C++ devirtualization in LLVM by unifying virtual table loads across calls using different SSA values to represent different dynamic types.
openaire   +1 more source

Multi-dimensional Vectorization in LLVM

Proceedings of the 5th Workshop on Programming Models for SIMD/Vector Processing, 2019
Loop vectorization is a classic technique to exploit SIMD instructions in a productive way. In multi-dimensional vectorization, multiple loops of a loop nest are vectorized at once. This exposes opportunities for data reuse, register tiling and more efficient memory accesses.In this work, we present TensorRV, a multi-dimensional vectorization framework
Simon Moll 0001   +3 more
openaire   +1 more source

Tutorial: LLVM for Security Practitioners

2020 IEEE Secure Development (SecDev), 2020
Many security researchers need to build tools that analyze and transform code. For example, researchers may want to build security hardening tools, tools that find vulnerabilities within software, or tools that prove that a program is invulnerable to attack.
openaire   +1 more source

An llVM backend for GHC

ACM SIGPLAN Notices, 2010
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 ...
David A. Terei, Manuel M.T. Chakravarty
exaly   +2 more sources

P4LLVM: An LLVM Based P4 Compiler

2018 IEEE 26th International Conference on Network Protocols (ICNP), 2018
We propose P4LLVM, an LLVM based P4 compiler for achieving better optimizations to improve the runtime performance of the network. The front-end of P4LLVM converts P4-16's code to LLVM's Intermediate Representation (IR). This IR is passed through various optimizations of LLVM and is translated to JSON for targeting a BMV2 Switch.
Ramakrishna Upadrasta
exaly   +2 more sources

Alive2: bounded translation validation for LLVM

Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2021
We designed, implemented, and deployed Alive2: a bounded translation validation tool for the LLVM compiler’s intermediate representation (IR). It limits resource consumption by, for example, unrolling loops up to some bound, which means there are circumstances in which it misses bugs. Alive2 is designed to avoid false alarms, is fully automatic through
Nuno P. Lopes   +4 more
openaire   +1 more source

ErLLVM

Proceedings of the eleventh ACM SIGPLAN workshop on Erlang workshop, 2012
This paper describes ErLLVM, a new backend for the HiPE compiler, the native code compiler of Erlang/OTP, that targets the LLVM compiler infrastructure. Besides presenting the overall architecture of ErLLVM and its integration in Erlang/OTP, we describe the changes to LLVM that ErLLVM required and discuss technical challenges and decisions we took ...
Konstantinos Sagonas   +2 more
openaire   +1 more source

Translating ETC to LLVM Assembly

2009
The LLVM compiler infrastructure project provides a machine independent virtual instruction set, along with tools for its optimisation and compilation to a wide range of machine architectures. Compiler writers can use the LLVM's tools and instruction set to simplify the task of supporting multiple hardware/software platforms.
openaire   +1 more source

The LLVM Compiler Framework and Infrastructure Tutorial

2005
The LLVM Compiler Infrastructure (http://llvm.cs. uiuc.edu) is a robust system that is well suited for a wide variety of research and development work. This brief paper introduces the LLVM system and provides pointers to more extensive documentation, complementing the tutorial presented at LCPC.
Chris Lattner, Vikram S. Adve
openaire   +1 more source

Detecting System Failures with GPUs and LLVM

Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems, 2019
Since system failures cause a huge financial loss, they should be detected as early and accurately as possible and then be recovered rapidly. To detect system failures, there are mainly two methods: black-box and white-box monitoring. However, external black-box monitoring cannot obtain detailed information on system failures, while internal white-box ...
Yuichi Ozaki   +3 more
openaire   +1 more source

Home - About - Disclaimer - Privacy