Results 1 to 10 of about 5,396 (256)
Some of the next articles are maybe not open access.
xVMP: An LLVM-based Code Virtualization Obfuscator
IEEE International Conference on Software Analysis, Evolution, and Reengineering, 2023Obfuscation techniques are widely used to protect the digital copyright and intellectual property rights of software. Among them, code virtualization is one of the most powerful obfuscation techniques, which hides both the control flow and the data flow ...
Xuangan Xiao +3 more
semanticscholar +1 more source
ORAQL — Optimistic Responses to Alias Queries in LLVM
International Conference on Parallel Processing, 2023Alias analysis (AA) is a prerequisite for many compiler optimizations, which are crucial for performance especially for parallel and scientific software.
Jan Hückelheim, Johannes Doerfert
semanticscholar +1 more source
Enhancing LLVM Optimizations for Linear Recurrence Programs on RVV
ICPP Workshops, 2023The RISC-V Vector Extension (RVV) has emerged as a promising vector architecture for high-performance computing. It enables parallel computing capability for RISC-V CPUs by introducing additional vector instructions and vector registers. To fully utilize
Hung-Ming Lai +2 more
semanticscholar +1 more source
Flexible on-stack replacement in LLVM
Proceedings of the 2016 International Symposium on Code Generation and Optimization, 2016On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different versions of a function at run time. OSR is typically used in virtual machines to interrupt a long-running function and recompile it at a higher optimization level, or to replace it with a different one when a speculative assumption made during its ...
D'ELIA, DANIELE CONO, DEMETRESCU, Camil
openaire +1 more source
An empirical study of optimization bugs in GCC and LLVM
Journal of Systems and Software, 2021Optimizations are the fundamental component of compilers. Bugs in optimizations have significant impacts, and can cause unintended application behavior and disasters, especially for safety-critical domains. Thus, an in-depth analysis of optimization bugs
Zhide Zhou +3 more
semanticscholar +1 more source
A LLVM based compiler for COFFEE
16th IEEE International Symposium on Object/component/service-oriented Real-time distributed Computing (ISORC 2013), 2013LLVM has gained its popularity from both industrial side and academic side due to its well-defined architecture and good support for parallel programming. The purpose of this paper is to explain essential concepts which must be understood by complier developers in order to carry on the implementation of LLVM based compiler and also share experiences ...
Guoqing Zhang, Tapani Ahonen
openaire +1 more source
Annales Universitatis Scientiarum Budapestinensis de Rolando Eötvös Nominatae. Sectio computatorica, 2012
Superoptimization is a known technique to integrate the analyses and transformations of a number of separate optimizations in order to obtain an optimization that is more expressive than the sequential and iterative application of the original optimizations.
Dávid Juhász, Tamás Kozsik
openaire +1 more source
Superoptimization is a known technique to integrate the analyses and transformations of a number of separate optimizations in order to obtain an optimization that is more expressive than the sequential and iterative application of the original optimizations.
Dávid Juhász, Tamás Kozsik
openaire +1 more source
Optimizing LLVM pass sequences with shackleton: a linear genetic programming framework
GECCO Companion, 2022In this paper we explore the novel application of a linear genetic programming framework, Shackleton, to optimizing sequences of LLVM optimization passes.
H. Peeler +5 more
semanticscholar +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
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

