Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks
Compiler optimization decisions are often based on hand-crafted heuristics centered around
a few established benchmark suites. Alternatively, they can be learned from feature and …
a few established benchmark suites. Alternatively, they can be learned from feature and …
Optimization-aware compiler-level event profiling
Tracking specific events in a program's execution, such as object allocation or lock
acquisition, is at the heart of dynamic analysis. Despite the apparent simplicity of this task …
acquisition, is at the heart of dynamic analysis. Despite the apparent simplicity of this task …
Machine-Learning-Based Self-Optimizing Compiler Heuristics✱
Compiler optimizations are often based on hand-crafted heuristics to guide the optimization
process. These heuristics are designed to benefit the average program and are otherwise …
process. These heuristics are designed to benefit the average program and are otherwise …
A Cost Model for a Graph-based Intermediate-representation in a Dynamic Compiler
Compilers provide many architecture-agnostic, high-level optimizations trading off peak
performance for code size. High-level optimizations typically cannot precisely reason about …
performance for code size. High-level optimizations typically cannot precisely reason about …
Enhancing Performance Through Control-Flow Unmerging and Loop Unrolling on GPUs
Compilers use a wide range of advanced optimizations to improve the quality of the machine
code they generate. In most cases, compiler optimizations rely on precise analyses to be …
code they generate. In most cases, compiler optimizations rely on precise analyses to be …
Low-overhead multi-language dynamic taint analysis on managed runtimes through speculative optimization
Dynamic taint analysis (DTA) is a popular program analysis technique with applications to
diverse fields such as software vulnerability detection and reverse engineering. It consists of …
diverse fields such as software vulnerability detection and reverse engineering. It consists of …
Automatically exploiting the memory hierarchy of gpus through just-in-time compilation
Although Graphics Processing Units (GPUs) have become pervasive for data-parallel
workloads, the efficient exploitation of their tiered memory hierarchy requires explicit …
workloads, the efficient exploitation of their tiered memory hierarchy requires explicit …
Control Flow Duplication for Columnar Arrays in a Dynamic Compiler
S Kloibhofer, L Makor, D Leopoldseder… - arxiv preprint arxiv …, 2023 - arxiv.org
Columnar databases are an established way to speed up online analytical processing
(OLAP) queries. Nowadays, data processing (eg, storage, visualization, and analytics) is …
(OLAP) queries. Nowadays, data processing (eg, storage, visualization, and analytics) is …
Loop Unrolling Based on SLP and Register Pressure Awareness
Z Ye, J Jiao - 2024 20th International Conference on Natural …, 2024 - ieeexplore.ieee.org
Loop unrolling is a common compiler optimization technique that reduces the execution
count of loop branch instructions and improves program performance by merging multiple …
count of loop branch instructions and improves program performance by merging multiple …
[PDF][PDF] Improving Native-Image Startup Performance
With the increasing popularity of Serverless computing and Function as a Service—where
typical workloads have a short lifetime—the research community is increasingly focusing on …
typical workloads have a short lifetime—the research community is increasingly focusing on …