Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3640537acmconferencesBook PagePublication PagesccConference Proceedingsconference-collections
CC 2024: Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction
ACM2024 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
CC '24: 33rd ACM SIGPLAN International Conference on Compiler Construction Edinburgh United Kingdom March 2 - 3, 2024
ISBN:
979-8-4007-0507-6
Published:
20 February 2024
Sponsors:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN

Reflects downloads up to 08 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

It is with great pleasure that we welcome you to the 33rd ACM SIGPLAN International Conference on Compiler Construction (CC 2024), held in Edinburgh, Scotland, UK over March 2-3, 2024. As has been the case for the last 9 years, CC is part of a co-located cluster together with IEEE HPCA, IEEE/ACM CGO, and ACM PPoPP. The co-location brings together researchers with complementary expertises in compilation, architecture, and parallel programming, creating a thriving and unique ecosystem for scientific discovery and advancement.

Skip Table Of Content Section
SESSION: Code Generation and Synthesis
Fast Template-Based Code Generation for MLIR

Fast compilation is essential for JIT-compilation use cases like dynamic languages or databases as well as development productivity when compiling static languages. Template-based compilation allows fast compilation times, but in existing approaches, ...

research-article
A Unified Memory Dependency Framework for Speculative High-Level Synthesis

Heterogeneous hardware platforms that leverage application-specific hardware accelerators are becoming increasingly popular as the demand for high-performance compute intensive applications rises. The design of such high-performance hardware accelerators ...

SESSION: Static and Dynamic Analysis
research-article
If-Convert as Early as You Must

Optimizing compilers employ a rich set of transformations that generate highly efficient code for a variety of source languages and target architectures. These transformations typically operate on general control flow constructs which trigger a range of ...

Paguroidea: Fused Parser Generator with Transparent Semantic Actions

Parser generators have long been a savior for programmers, liberating them from the daunting task of crafting correct and maintainable parsers. Yet, this much-needed simplicity often comes at the expense of efficiency.

We present, Paguroidea, a parser ...

Region-Based Data Layout via Data Reuse Analysis

Data-structure splicing techniques, such as structure splitting, field reordering, and pointer inlining reorganize data structures to improve cache and translation look-aside buffer (TLB) utilization. Structure types are typically transformed globally in ...

A Context-Sensitive Pointer Analysis Framework for Rust and Its Application to Call Graph Construction

Existing program analysis tools for Rust lack the ability to effectively detect security vulnerabilities due to the absence of an accurate call graph and precise points-to information. We present Rupta, the first context-sensitive pointer analysis ...

CoSense: Compiler Optimizations using Sensor Technical Specifications

Embedded systems are ubiquitous, but in order to maximize their lifetime on batteries there is a need for faster code execution – i.e., higher energy efficiency, and for reduced memory usage. The large number of sensors integrated into embedded systems ...

SESSION: Runtime Techniques
UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State Transformation

Heterogeneous-ISA processor designs have attracted considerable research interest. However, unlike their homogeneous-ISA counterparts, explicit software support for bridging ISA heterogeneity is required. The lack of a compilation toolchain ready to ...

research-article
Open Access
BLQ: Light-Weight Locality-Aware Runtime for Blocking-Less Queuing

Message queues are used widely in parallel processing systems for worker thread synchronization. When there is a throughput mismatch between the upstream and downstream tasks, the message queue buffer will often exist as either empty or full. Polling on ...

SESSION: Debugging, Profiling, and Parallelism
research-article
Open Access
APPy: Annotated Parallelism for Python on GPUs

GPUs are increasingly being used used to speed up Python applications in the scientific computing and machine learning domains. Currently, the two common approaches to leveraging GPU acceleration in Python are 1) create a custom native GPU kernel, and ...

Accurate Coverage Metrics for Compiler-Generated Debugging Information

Many debugging tools rely on compiler-produced metadata to present a source-language view of program states, such as variable values and source line numbers. While this tends to work for unoptimised programs, current compilers often generate only partial ...

research-article
Open Access
FlowProf: Profiling Multi-threaded Programs using Information-Flow

Amdahl's law implies that even small sequential bottlenecks can seriously limit the scalability of multi-threaded programs. To achieve scalability, developers must painstakingly identify sequential bottlenecks in their program and eliminate these ...

research-article
Reducing the Overhead of Exact Profiling by Reusing Affine Variables

An exact profiler inserts counters in a program to record how many times each edge of that program's control-flow graph has been traversed during an execution of it. It is common practice to instrument only edges in the complement of a minimum spanning ...

research-article
Open Access
Stale Profile Matching

Profile-guided optimizations rely on profile data for directing compilers to generate optimized code. To achieve the maximum performance boost, profile data needs to be collected on the same version of the binary that is being optimized. In practice ...

SESSION: Safety and Correctness
From Low-Level Fault Modeling (of a Pipeline Attack) to a Proven Hardening Scheme

Fault attacks present unique safety and security challenges that require dedicated countermeasures, even for bug-free programs. Models of these complex attacks are made workable by approximating their effects to a suitable level of abstraction. The ...

Clog: A Declarative Language for C Static Code Checkers

We present Clog, a declarative language for describing static code checkers for C. Unlike other extensible state-of-the-art checker frameworks, Clog enables powerful interprocedural checkers without exposing the underlying program representation: Clog ...

SESSION: Compilers and Machine Learning
research-article
Compiler-Based Memory Encryption for Machine Learning on Commodity Low-Power Devices

Running machine learning (ML) on low-power IoT devices exposes unique security concerns. Attackers can easily steal or manipulate sensitive user data or proprietary ML models from the devices’ off-chip memory by leveraging their simple hardware structure ...

research-article
Open Access
YFlows: Systematic Dataflow Exploration and Code Generation for Efficient Neural Network Inference using SIMD Architectures on CPUs

We address the challenges associated with deploying neural networks on CPUs, with a particular focus on minimizing inference time while maintaining accuracy. Our novel approach is to use the dataflow (i.e., computation order) of a neural network to ...

research-article
Fast and Accurate Context-Aware Basic Block Timing Prediction using Transformers

This paper introduces ORXESTRA, a context-aware execution time prediction model based on Transformers XL, specifically designed to accurately estimate performance in embedded system applications. Unlike traditional machine learning models that often ...

The Next 700 ML-Enabled Compiler Optimizations

There is a growing interest in enhancing compiler optimizations with ML models, yet interactions between compilers and ML frameworks remain challenging. Some optimizations require tightly coupled models and compiler internals, raising issues with ...

research-article
Open Access
Exponentially Expanding the Phase-Ordering Search Space via Dormant Information

Applying compilation transformations in optimal sequences can significantly improve program speed and reduce code size. However, finding these optimal sequences—a problem known as the phase-ordering problem—remains a long-standing challenge. Specifically,...

Contributors
  • University of A Coruña
  • The University of Utah

Index Terms

  1. Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction

    Recommendations