David M. Gillies

dblp:55/1804 · DBLP profile ↗
← Back
2ranked-venue papers
1as first author
0since 2021 · last 1999
—ORCID · none

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

Systems, architecture and hardware · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1

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
1 paper
Compilers and program optimization · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Processor architecture and microarchitecture · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization
compiler analysis
0.011996
Global Predicate Analysis and Its Application to Register Allocation · MICRO 1996
Compilers and program optimization › compiler analysis
predicate analysis
0.011996
Global Predicate Analysis and Its Application to Register Allocation · MICRO 1996
Compilers and program optimization
register allocation
0.011996
Global Predicate Analysis and Its Application to Register Allocation · MICRO 1996
Processor architecture and microarchitecture › instruction-level parallelism
predicated execution
0.011996
Global Predicate Analysis and Its Application to Register Allocation · MICRO 1996

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

live range analysis · 0.0control flow analysis · 0.0
YearPublicationVenuePosition
1999 Translating Out of Static Single Assignment Form
Vugranam C. Sreedhar, Roy Dz-Ching Ju, David M. Gillies, Vatsa Santhanam
SAS3
1996 Global Predicate Analysis and Its Application to Register Allocation
abstract
To fully utilize the wide machine resources in modern high-performance microprocessors it is necessary to exploit parallelism beyond individual basic blocks. Architectural support for predicated execution increases the degree of instruction level parallelism by allowing instructions from different basic blocks to be converted to straight-line code guarded by boolean predicates. However predicated execution also presents significant challenges to an optimizing compiler. For example, in live range analysis, a predicated definition does not necessarily end the live range of a virtual register. This paper describes techniques to analyze the relations among predicates in order to improve the precision and effectiveness of various compiler analysis and transformation phases in the presence of predicated code. Our predicate analysis operates globally to obtain relations among predicates. Moreover, we analyze control flow and predication in a single unified framework. The result can be queried by subsequent optimization and analysis phases. Based on this framework, we extend a traditional method to a predicate-aware register allocator which takes global predicate relations into account. We have implemented the proposed algorithms to effectively reduce register pressure. Our experimental results show 24.6% of a large test suite obtain, on average, 20.71% and better register allocation due to the algorithms presented in this paper.
David M. Gillies, Roy Dz-Ching Ju, Mike Schlansker
MICRO1