Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleMarch 2016
Improved MHP Analysis
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 207–217https://doi.org/10.1145/2892208.2897144May-Happen-in-Parallel (MHP) analysis is becoming the backbone of many of the parallel analyses and optimizations. In this paper, we present new approaches to do MHP analysis for X10-like languages that support async-finish-atomic parallelism. We ...
- short-paperMarch 2016
Register allocation and instruction scheduling in Unison
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 263–264https://doi.org/10.1145/2892208.2892237This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs register allocation and instruction scheduling in integration using combinatorial optimization. The tool can be used as an alternative or as a ...
- short-paperMarch 2016
SYCO: a systematic testing tool for concurrent objects
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 269–270https://doi.org/10.1145/2892208.2892236We present the concepts, usage and prototypical implementation of SYCO: a SYstematic testing tool for Concurrent Objects. The system receives as input a program, a selection of method to be tested, and a set of initial values for its parameters. SYCO ...
- short-paperMarch 2016
Iguana: a practical data-dependent parsing framework
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 267–268https://doi.org/10.1145/2892208.2892234Data-dependent grammars extend context-free grammars with arbitrary computation, variable binding, and constraints. These features provide the user with the freedom and power to express syntactic constructs outside the realm of context-free grammars, ...
- short-paperMarch 2016
GreenThumb: superoptimizer construction framework
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 261–262https://doi.org/10.1145/2892208.2892233Developing an optimizing compiler backend remains a laborious process, especially for nontraditional ISAs that have been appearing recently. Superoptimization sidesteps the need for many code transformations by searching for the most optimal instruction ...
-
- research-articleMarch 2016
Static deadlock detection for concurrent go by global session graph synthesis
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 174–184https://doi.org/10.1145/2892208.2892232Go is a programming language developed at Google, with channel-based concurrent features based on CSP. Go can detect global communication deadlocks at runtime when all threads of execution are blocked, but deadlocks in other paths of execution could be ...
- research-articleMarch 2016
Sparse representation of implicit flows with applications to side-channel detection
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 110–120https://doi.org/10.1145/2892208.2892230Information flow analyses traditionally use the Program Dependence Graph (PDG) as a supporting data-structure. This graph relies on Ferrante et al.'s notion of control dependences to represent implicit flows of information. A limitation of this approach ...
- research-articleMarch 2016
Relaxed dependence tracking for parallel runtime support
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 45–55https://doi.org/10.1145/2892208.2892229It is notoriously difficult to achieve both correctness and scalability for many shared-memory parallel programs. To improve correctness and scalability, researchers have developed various kinds of parallel runtime support such as multithreaded record & ...
- research-articleMarch 2016
On fusing recursive traversals of K-d trees
- Samyam Rajbhandari,
- Jinsung Kim,
- Sriram Krishnamoorthy,
- Louis-Noël Pouchet,
- Fabrice Rastello,
- Robert J. Harrison,
- P. Sadayappan
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 152–162https://doi.org/10.1145/2892208.2892228Loop fusion is a key program transformation for data locality optimization that is implemented in production compilers. But optimizing compilers for imperative languages currently cannot ex- ploit fusion opportunities across a set of recursive tree ...
- research-articleMarch 2016
Reducing memory buffering overhead in software thread-level speculation
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 12–22https://doi.org/10.1145/2892208.2892227Software-based, automatic parallelization through Thread-Level Speculation (TLS) has significant practical potential, but also high overhead costs. Traditional "lazy" buffering mechanisms enable strong isolation of speculative threads, but imply large ...
- research-articleMarch 2016
On fast large-scale program analysis in Datalog
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 196–206https://doi.org/10.1145/2892208.2892226Designing and crafting a static program analysis is challenging due to the complexity of the task at hand. Among the challenges are modelling the semantics of the input language, finding suitable abstractions for the analysis, and handwriting efficient ...
- research-articleMarch 2016
Restrictification of function arguments
- Victor Hugo Sperle Campos,
- Péricles Rafael Alves,
- Henrique Nazaré Santos,
- Fernando Magno Quintão Pereira
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 163–173https://doi.org/10.1145/2892208.2892225Pointer aliasing still hinders compiler optimizations, in spite of years of research on pointer disambiguation. Because the automatic disambiguation of pointers is a difficult endeavor, several programming languages offer programmers mechanisms to ...
- research-articleMarch 2016
Reachability and error diagnosis in LR(1) parsers
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 88–98https://doi.org/10.1145/2892208.2892224Given an LR(1) automaton, what are the states in which an error can be detected? For each such "error state", what is a minimal input sentence that causes an error in this state? We propose an algorithm that answers these questions. This allows building ...
- research-articleMarch 2016
Kindergarten cop: dynamic nursery resizing for GHC
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 56–66https://doi.org/10.1145/2892208.2892223Generational garbage collectors are among the most popular garbage collectors used in programming language runtime systems. Their performance is known to depend heavily on choosing the appropriate size of the area where new objects are allocated (the ...
- research-articleMarch 2016
Mechanizing conventional SSA for a verified destruction with coalescing
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 77–87https://doi.org/10.1145/2892208.2892222Modern optimizing compilers rely on the Static Single Assignment (SSA) form to make optimizations fast and simpler to implement. From a semantic perspective, the SSA form is nowadays fairly well understood, as witnessed by recent advances in the field ...
- research-articleMarch 2016
Thread-level speculation with kernel support
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 1–11https://doi.org/10.1145/2892208.2892221Runtime systems for speculative parallelization can be substantially sped up by implementing them with kernel support. We describe a novel implementation of a thread-level speculation (TLS) system using virtual memory to isolate speculative state, ...
- research-articleMarch 2016
Safe and flexible adaptation via alternate data structure representations
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 34–44https://doi.org/10.1145/2892208.2892220The choice of data structures is crucial for achieving high performance. For applications that are long-running and/or operate on large data sets, the best choice for main data structures can change multiple times over the course of a single execution. ...
- research-articleMarch 2016
Register allocation and promotion through combined instruction scheduling and loop unrolling
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 143–151https://doi.org/10.1145/2892208.2892219Register allocation is a much studied problem. A particularly important context for optimizing register allocation is within loops, since a significant fraction of the execution time of programs is often inside loop code. A variety of algorithms have ...
- research-articleMarch 2016
Input space splitting for OpenCL
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 251–260https://doi.org/10.1145/2892208.2892217The performance of OpenCL programs suffers from memory and control flow divergence. Therefore, OpenCL compilers employ static analyses to identify non-divergent control flow and memory accesses in order to produce faster code. However, divergence is ...
- research-articleMarch 2016
Mapping deviation: a technique to adapt or to guard loop transformation intuitions for legality
CC '16: Proceedings of the 25th International Conference on Compiler ConstructionPages 229–239https://doi.org/10.1145/2892208.2892216Parallel architectures are now omnipresent in mainstream electronic devices and exploiting them efficiently is a challenge for all developers. Hence, they need the support of languages, libraries and tools to assist them in the optimization or ...