Results 141 to 150 of about 406 (180)
Some of the next articles are maybe not open access.
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
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, 2019Loop 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), 2020Many 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
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
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), 2018We 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, 2021We 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
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
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
2009The 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
2005The 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, 2019Since 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

