Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Shin-Ming Liu

dblp:55/159 · DBLP profile ↗
← Back
10ranked-venue papers
0as first author
0since 2021 · last 2006
—ORCID · none

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

Software engineering, systems software and programming languages · 9Systems, architecture and hardware · 3

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

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler optimization › redundancy elimination
partial redundancy elimination
0.131999
Partial redundancy elimination in SSA form · ACM Trans. Program. Lang. Syst. 1999
Register Promotion by Partial Redundancy Elimination of Loads and Stores · PLDI 1998
A New Algorithm for Partial Redundancy Elimination based on SSA Form · PLDI 1997
Compilers and program optimization › intermediate representation
static single assignment form
0.021999
Partial redundancy elimination in SSA form · ACM Trans. Program. Lang. Syst. 1999
A New Algorithm for Partial Redundancy Elimination based on SSA Form · PLDI 1997
Compilers and program optimization › register allocation
register promotion
0.011998
Register Promotion by Partial Redundancy Elimination of Loads and Stores · PLDI 1998
Compilers and program optimization › code motion
speculative code motion
0.011998
Register Promotion by Partial Redundancy Elimination of Loads and Stores · PLDI 1998
Compilers and program optimization
instruction scheduling
0.011994
Improving resource utilization of the MIPS R8000 via post-scheduling global instruction distribution · MICRO 1994
Processor architecture and microarchitecture
superscalar processor
0.011994
Improving resource utilization of the MIPS R8000 via post-scheduling global instruction distribution · MICRO 1994

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

SSA form · 0.0control flow graph analysis · 0.0profile-guided optimization · 0.0data flow analysis · 0.0
YearPublicationVenuePosition
2006 Inline Analysis: Beyond Selection Heuristics
abstract
Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However, other equally important aspects of inline analysis such as call-site analysis order, indirect effects of inlining, and selection of the most profitable version of a procedure warrant more attention. This paper evaluates a number of different sequences in which call-sites are examined for inlining and shows that choosing the correct order is crucial to obtaining the best run-time performance. We then present a novel, work-list-based, and updated sequence that achieves the best results. While applying cross-module inline analysis on large applications with thousands of files and millions of lines of code, we separate the analysis from the transformation phase and allow the former to work solely on summary information in order to reduce compile-time and memory consumption. A focus of this paper is to enumerate the summaries that our compiler maintains, present a technique to compute the goodness factor on which the work-list sequence is based, and describe methods to continuously update the summaries as and when a call-site is accepted for inlining. We then introduce inline specialization, a new technique that facilitates inlining into call chains selectively. The power of inline specialization lies in its ability to choose the most profitable version of the called procedure without having to maintain multiple versions at any point of time. We discuss implementation of these techniques in the HPUX Itanium/spl reg/ production compiler and present experimental results showing that a dynamic work-list based analysis order, comprehensive summary updates, and inline specialization significantly improve performance of applications.
Dhruva R. Chakrabarti, Shin-Ming Liu
CGO2
2004 SYZYGY - A Framework for Scalable Cross-Module IPO
abstract
Performing analysis across module boundaries for an entire program is important for exploiting several runtime performance opportunities. However, due to scalability problems in existing full-program analysis frameworks, such performance opportunities are only realized by paying tremendous compile-time costs. Alternative solutions, such as partial compilations or user assertions, are complicated or unsafe and as a result, not many commercial applications are compiled today with cross-module optimizations. We present SYZYGY, a practical framework for performing efficient, scalable, interprocedural optimizations. The framework is implemented in the HP-UX Itanium/spl reg/ compilers and we have successfully compiled many very large applications consisting of millions of lines of code. We achieved performance improvements of up to 40% over optimization level two and compilation time improvements in the order of 100% and more compared to a previous approach.
Sungdo Moon, Xinliang D. Li, Robert Hundt, Dhruva R. Chakrabarti, Luis A. Lozano, Uma Srinivasan 0004, Shin-Ming Liu
CGO7
2002 Semantic and behavioral library transformations
Sibylle Schupp, Douglas P. Gregor, David R. Musser, Shin-Ming Liu
Inf. Softw. Technol.4
2001 User-Extensible Simplification - Type-Based Optimizer Generators
Sibylle Schupp, Douglas P. Gregor, David R. Musser, Shin-Ming Liu
CC4
1999 Partial redundancy elimination in SSA form
abstract
The SSAPRE algorithm for performing partial redundancy elimination based entirely on SSA form is presented. The algorithm is formulated based on a new conceptual framework, the factored redundancy graph, for analyzing redundancy, and representes the first sparse approach to the classical problem and on methods for its solution. With the algorithm description, theorems and their proofs are given showing that the algorithm produces the best possible code by the criteria of computational optimality and lifetime optimality of the introduced temporaries. In addition to the base algorithm, a practical implementation of SSAPRE that exhibits additional compile-time efficiencies is described. In closing, measurement statistics are provided that characterize the instances of the partial redundancy problem from a set of benchmark programs and compare optimization time spent by an implementation of SSAPRE aganist a classical partial redundancy elimination implementation. The data lend insight into the nature of partial redundancy elimination and demonstrate the expediency of this new approach.
Sun Chan, Shin-Ming Liu, Raymond Lo, Peng Tu, Fred C. Chow
ACM Trans. Program. Lang. Syst.3
1998 Strength Reduction via SSAPRE
Fred C. Chow, Peter Dahl, Shin-Ming Liu, Raymond Lo, Mark Streich
CC4
1998 Register Promotion by Partial Redundancy Elimination of Loads and Stores
abstract
An algorithm for register promotion is presented based on the observation that the circumstances for promoting a memory location’s value to register coincide with situations where the program exhibits partial redundancy between ac-cesses to the memory location. The recent SSAPRE al-gorithm for eliminating partial redundancy using a sparse SSA representation forms the foundation for the present al-gorithm to eliminate redundancy among memory accesses, enabling us to achieve both computational and live range op-timality in our register promotion results. We discuss how to effect speculative code motion in the SSAPRE framework. We present two different algorithms for performing specu-lative code motion: the conservative speculation algorithm used in the absence of profile data, and the the profile-driven
Fred C. Chow, Shin-Ming Liu, Raymond Lo, Peng Tu
PLDI3
1997 A New Algorithm for Partial Redundancy Elimination based on SSA Form
abstract
A new algorithm, SSAPRE, for performing partial redundancy elimination based entirely on SSA form is presented. It achieves optimal code motion similar to lazy code motion [KRS94a, DS93], but is formulated independently and does not involve iterative data flow analysis and bit vectors in its solution. It not only exhibits the characteristics common to other sparse approaches, but also inherits the advantages shared by other SSA-based optimization techniques. SSAPRE also maintains its output in the same SSA form as its input. In describing the algorithm, we state theorems with proofs giving our claims about SSAPRE. We also give additional description about our practical implementation of SSAPRE, and analyze and compare its performance with a bit-vector-based implementation of PRE. We conclude with some discussion of the implications of this work.
Fred C. Chow, Sun Chan, Shin-Ming Liu, Raymond Lo, Peng Tu
PLDI4
1996 Effective Representation of Aliases and Indirect Memory Operations in SSA Form
Fred C. Chow, Sun Chan, Shin-Ming Liu, Raymond Lo, Mark Streich
CC3
1994 Improving resource utilization of the MIPS R8000 via post-scheduling global instruction distribution
abstract
The paper presents a technique called Global Instruction Distribution that globally fine-tunes the code produced for a superscalar processor. The fine-tuning is effected by distributing instructions from one block to other blocks according to the control flow graph of the program. The method does not involve instruction scheduling, but models resource usage to find the best insertion points in the target basic block. We present our implementation of GID in a production compiler, and show how the GID framework allows incorporation of additional functions targeting different optimizations. Performance measurements on the MIPS R8000 are presented to demonstrate the practicality and efficacy of this approach.
Raymond Lo, Sun Chan, Fred C. Chow, Shin-Ming Liu
MICRO4