Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1356058acmconferencesBook PagePublication PagescgoConference Proceedingsconference-collections
CGO '08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
ACM2008 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
CGO '08: 6th Annual IEEE / ACM International Symposium on Code Generation and Optimization Boston MA USA April 5 - 9, 2008
ISBN:
978-1-59593-978-4
Published:
06 April 2008
Sponsors:

Reflects downloads up to 22 Sep 2024Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
SESSION: JIT optimizations
research-article
Perfdiff: a framework for performance difference analysis in a virtual machine environment

Although applications running on virtual machines, such as Java, can achieve platform independence, performance evaluation and analysis becomes difficult due to extra intermediate layers and the dynamic nature of virtual execution environment.

We ...

research-article
Automatic array inlining in java virtual machines

Array inlining expands the concepts of object inlining to arrays. Groups of objects and arrays that reference each other are placed consecutively in memory so that their relative offsets are fixed, i.e. they are colocated. This allows memory loads to be ...

research-article
Phase-based adaptive recompilation in a JVM

Modern JIT compilers often employ multi-level recompilation strategies as a means of ensuring the most used code is also the most highly optimized, balancing optimization costs and expected future performance. Accurate selection of code to compile and ...

SESSION: Static program analysis
research-article
Fast liveness checking for ssa-form programs

Liveness analysis is an important analysis in optimizing compilers. Liveness information is used in several optimizations and is mandatory during the code-generation phase. Two drawbacks of conventional liveness analyses are that their computations are ...

research-article
Near-optimal instruction selection on dags

Instruction selection is a key component of code generation. High quality instruction selection is of particular importance in the embedded space where complex instruction sets are common and code size is a prime concern. Although instruction selection ...

research-article
Comprehensive path-sensitive data-flow analysis

Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framework for improving the precision of data-flow analysis in the presence of complex control-flow. We initially perform data-flow analysis to determine those ...

SESSION: Profiling and tracing
research-article
Accurate critical path prediction via random trace construction

We present a new approach to performing program analysis through profile-guided random generation of instruction traces. Using hardware support available in commercial processors, we profile the behavior of individual instructions. Then, in conjunction ...

research-article
Efficient fine-grained binary instrumentationwith applications to taint-tracking

Fine-grained binary instrumentations, such as those for taint-tracking, have become very popular in computer security due to their applications in exploit detection, sandboxing, malware analysis, etc. However, practical application of taint-tracking has ...

research-article
Branch-on-random

We propose a new instruction, branch-on-random, that is like a standard conditional branch, except rather than specifying the condition on which the branch should be taken, it specifies a frequency at which the branch should be taken. We show that ...

research-article
Prediction and trace compression of data access addresses through nested loop recognition

This paper describes an algorithm that takes a trace (i.e., a sequence of numbers or vectors of numbers) as input, and from that produces a sequence of loop nests that, when run, produces exactly the original sequence. The input format is suitable for ...

SESSION: Software pipelining
research-article
Latency-tolerant software pipelining in a production compiler

In this paper we investigate the benefit of scheduling non-critical loads for a higher latency during software pipelining. "Non-critical" denotes those loads that have sufficient slack in the cyclic data dependence graph so that increasing the ...

research-article
Parallel-stage decoupled software pipelining

In recent years, the microprocessor industry has embraced chip multiprocessors (CMPs), also known as multi-core architectures, as the dominant design paradigm. For existing and new applications to make effective use of CMPs, it is desirable that ...

research-article
Modulo scheduling for highly customized datapaths to increase hardware reusability

In the embedded domain, custom hardware in the form of ASICs is often used to implement critical parts of applications when performance and energy efficiency goals cannot be met with software implementations on a general purpose processor or DSP. The ...

SESSION: Compiler optimization
research-article
Removing redundancy via exception check motion

Partial redundancy elimination aims to reduce the number of times an expression is computed more than once. The traditional Lazy Code Motion (LCM) algorithm formulated by Knoop, Ruthing and Steffen, through its reliance on unordered bit vectors, is ...

research-article
Fault-safe code motion for type-safe languages

Compilers for Java and other type-safe languages have historically worked to overcome overheads and constraints imposed by runtime safety checks and precise exception semantics. We instead exploit these safety properties to perform code motion ...

research-article
Prefetching irregular references for software cache on cell

The IBM Single Source Research Compiler for the Cell processor (the SSC Research Compiler) was developed to manage the complexity of programming the heterogeneous multicore Cell processor. The compiler accepts conventional source programs as input, and ...

research-article
Cole: compiler optimization level exploration

Modern compilers implement a large number of optimizations which all interact in complex ways, and which all have a different impact on code quality, compilation time, code size, energy consumption, etc. For this reason, compilers typically provide a ...

SESSION: Compiling for multicore and multithreading
research-article
Spice: speculative parallel iteration chunk execution

The recent trend in the processor industry of packing multiple processor cores in a chip has increased the importance of automatic techniques for extracting thread level parallelism. A promising approach for extracting thread level parallelism in ...

research-article
Pipa: pipelined profiling and analysis on multi-core systems

Dynamic instrumentation systems are gaining popularity as means of constructing customized program profiling and analysis tools. However, dynamic instrumentation based analysis tools still suffer from performance problems. The overhead of such systems ...

research-article
Program optimization space pruning for a multithreaded gpu

Program optimization for highly-parallel systems has historically been considered an art, with experts doing much of the performance tuning by hand. With the introduction of inexpensive, single-chip, massively parallel platforms, more developers will be ...

research-article
Compiling for vector-thread architectures

Vector-thread (VT) architectures exploit multiple forms of parallelism simultaneously. This paper describes a compiler for the Scale VT architecture, which takes advantage of the VT features. We focus on compiling loops, and show how the compiler can ...

SESSION: Keynote addresses
keynote
Code optimization of parallel programs: evolutionary vs. revolutionary approaches

Code optimization has a rich history that dates back over half a century. Over the years, it has contributed deep innovations to address challenges posed by new computer system and programming language features. Examples of the former include ...

keynote
Issues and challenges in compiling for graphics processors

Graphics has been one of the best success stories of parallel processing. Using a unique combination of specialized hardware and aspecialized programming model, game developers routinely write high performance code using millions of threads. Each ...

keynote
Parallelism by design: data analysis with sawzall

Very large data sets - telephone call records, network logs, high-resolution satellite images, or web document repositories - are not easily analyzed using traditional database techniques. They may be simply too large, grow too fast, or may not fit well ...

Contributors
  • University of Virginia
  • IBM Research
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations

Acceptance Rates

CGO '08 Paper Acceptance Rate 21 of 66 submissions, 32%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%
YearSubmittedAcceptedRate
CGO '171162622%
CGO '161082523%
CGO '15882427%
CGO '141002929%
CGO '12902629%
CGO '111052827%
CGO '09702637%
CGO '08662132%
CGO '07842732%
CGO '06802936%
CGO '05752635%
CGO '04792532%
Overall1,06131229%