Cliff Click

dblp:39/4499 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
0since 2021 · last 2016
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 3 first-authorSystems, architecture and hardware · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Empirical software engineering · 72% Compilers and program optimization · 21% Program analysis · 8%

Topics — the 9 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering › software engineering research methodology
empirical study
0.212016
The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations · ACM Trans. Program. Lang. Syst. 2016
Compilers and program optimization
code motion
0.011995
Global Code Motion / Global Value Mumbering · PLDI 1995
Program analysis › data flow analysis
constant propagation
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995
Program analysis
data flow analysis
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization › compiler analysis › value numbering
global value numbering
0.011995
Global Code Motion / Global Value Mumbering · PLDI 1995
Compilers and program optimization › compiler optimization
optimization phase ordering
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization
optimizing compiler
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization › compiler analysis
value numbering
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization
dead code elimination
0.011995
Combining Analyses, Combining Optimizations · ACM Trans. Program. Lang. Syst. 1995

Methods — techniques the papers use, named apart from their topics

partial redundancy elimination · 0.0global value numbering · 0.0framework combination · 0.0fixed-point iteration · 0.0
YearPublicationVenuePosition
2016 The Truth, The Whole Truth, and Nothing But the Truth: A Pragmatic Guide to Assessing Empirical Evaluations
Steve Blackburn, Amer Diwan, Matthias Hauswirth, Peter F. Sweeney, José Nelson Amaral, Tim Brecht, Lubomír Bulej, Cliff Click, Lieven Eeckhout, Sebastian Fischmeister, Daniel Frampton, Laurie J. Hendren, Michael Hind, Antony L. Hosking, Richard E. Jones, Tomas Kalibera, Nathan Keynes, Nathaniel Nystrom, Andreas Zeller
ACM Trans. Program. Lang. Syst.8
2009 Java on 1000 Cores: Tales of Hardware/Software Co-design
Cliff Click
ECOOP1
2005 The pauseless GC algorithm
abstract
Modern transactional response-time sensitive applications have run into practical limits on the size of garbage collected heaps. The heap can only grow until GC pauses exceed the response-time limits. Sustainable, scalable concurrent collection has become a feature worth paying for.Azul Systems has built a custom system (CPU, chip, board, and OS) specifically to run garbage collected virtual machines. The custom CPU includes a read barrier instruction. The read barrier enables a highly concurrent (no stop-the-world phases), parallel and compacting GC algorithm. The Pauseless algorithm is designed for uninterrupted application execution and consistent mutator throughput in every GC phase.Beyond the basic requirement of collecting faster than the allocation rate, the Pauseless collector is never in a rush to complete any GC phase. No phase places an undue burden on the mutators nor do phases race to complete before the mutators produce more work. Portions of the Pauseless algorithm also feature a self-healing behavior which limits mutator overhead and reduces mutator sensitivity to the current GC state.We present the Pauseless GC algorithm, the supporting hardware features that enable it, and data on the overhead, efficiency, and pause times when running a sustained workload.
Cliff Click, Gil Tene, Michael Wolf
VEE1
1995 Global Code Motion / Global Value Mumbering
abstract
We believe that optimizing compilers should treat the machine-independent optimizations (e.g., conditional constant propagation, global value numbering) and code motion issues separately.’ Removing the code motion requirements from the machine-independent optimization allows stronger optimizations using simpler algorithms. Preserving a legal schedule is one of the prime sources of complexity in algorithms like PRE [18, 13] or global congruence finding [2, 20].
Cliff Click
PLDI1
1995 Combining Analyses, Combining Optimizations
abstract
Modern optimizing compilers use several passes over a program's intermediate representation to generate good code. Many of these optimizations exhibit a phase-ordering problem. Getting the best code may require iterating optimizations until a fixed point is reached. Combining these phases can lead to the discovery of more facts about the program, exposing more opportunities for optimization. This article presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the frame work provides insight into when a combination yields better results. To make the ideas more concrete, this article presents a framework for combining constant propagation, value numbering, and unreachable-code elimination. It is an open question as to what other frameworks can be combined in this way.
Cliff Click, Keith D. Cooper
ACM Trans. Program. Lang. Syst.1