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

Sun Chan

dblp:79/3872 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
0since 2021 · last 2004
—ORCID · none

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

Software engineering, systems software and programming languages · 4Systems, 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
5 papers
Compilers and program optimization · 97% Program analysis · 3%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Processor architecture and microarchitecture · 100%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › intermediate representation
static single assignment form
0.132004
A compiler framework for speculative optimizations · ACM Trans. Archit. Code Optim. 2004
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 › compiler optimization
speculative optimization
0.012004
A compiler framework for speculative optimizations · ACM Trans. Archit. Code Optim. 2004
Compilers and program optimization › compiler optimization › redundancy elimination
partial redundancy elimination
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
Processor architecture and microarchitecture › instruction set architecture
EPIC architecture
0.012004
A compiler framework for speculative optimizations · ACM Trans. Archit. Code Optim. 2004
Processor architecture and microarchitecture
speculative execution
0.012003
A compiler framework for speculative analysis and optimizations · PLDI 2003
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

strength reduction · 0.1register promotion · 0.1partial redundancy elimination · 0.1alias profiling · 0.1compiler framework · 0.1control flow graph analysis · 0.0data flow analysis · 0.0SSA form · 0.0
YearPublicationVenuePosition
2004 A compiler framework for speculative optimizations
abstract
Speculative execution, such as control speculation or data speculation, is an effective way to improve program performance. Using edge/path profile information or simple heuristic rules, existing compiler frameworks can adequately incorporate and exploit control speculation. However, very little has been done so far to allow existing compiler frameworks to incorporate and exploit data speculation effectively in various program transformations beyond instruction scheduling. This paper proposes a speculative static single assignment form to incorporate information from alias profiling and/or heuristic rules for data speculation, thus allowing existing frameworks to be extended to support both control and data speculation. Such a general framework is very useful for EPIC architectures that provide run-time checking (such as advanced load address table ) on data speculation to guarantee the correctness of program execution. We use SSAPRE as one example to illustrate how to incorporate data speculation in partial redundancy elimination, register promotion, and strength reduction. Our extended framework allows both control and data speculations to be performed on top of SSAPRE and, thus, enables more aggressive speculative optimizations. The proposed framework has been implemented on Intel's Open Research Compiler. We present experimental data on some SPEC2000 benchmark programs to demonstrate the usefulness of this framework.
Tong Chen 0010, Wei-Chung Hsu, Pen-Chung Yew, Roy Dz-Ching Ju, Tin-Fook Ngai, Sun Chan
ACM Trans. Archit. Code Optim.7
2003 Inter-procedural stacked register allocation for itanium® like architecture
abstract
A hardware managed register stack, Register Stack Engine (RSE), is implemented in Itanium® architecture to provide a unified and flexible register structure to software. The compiler allocates each procedure a register stack frame with its size explicitly specified using an alloc instruction. When the total number of registers used by the procedures on the call stack exceeds the number of physical registers, RSE performs automatically register overflows and fills to ensure that the current procedure has its requested registers available. The virtual register stack frames and RSE alleviate the need of explicit spills by the compiler, but our experimental results indicate that a trade-off exists between using stacked registers and explicit spills under high register pressure due to the uneven cost between them. In this work, we introduce the stacked register quota assignment problem based on the observation that reducing stacked register usage in some procedures could reduce the total memory access time of spilling registers, which includes the time caused by the loads/stores due to explicit register spills and RSE overflows/fills. We propose a new inter-procedural algorithm to solve the problem by allocating stacked registers across procedures based on a quantitative cost model. The results show that our approach can improve performance significantly for the programs with high RSE overflow cost, e.g. perlbmk and crafty, improved by 14% and 3.7%, respectively.
Sun Chan, Guang R. Gao, Roy Dz-Ching Ju, Guei-Yuan Lueh, Zhaoqing Zhang
ICS2
2003 A compiler framework for speculative analysis and optimizations
Tong Chen 0010, Wei-Chung Hsu, Pen-Chung Yew, Roy Dz-Ching Ju, Tin-Fook Ngai, Sun Chan
PLDI7
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.2
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
PLDI2
1996 Effective Representation of Aliases and Indirect Memory Operations in SSA Form
Fred C. Chow, Sun Chan, Shin-Ming Liu, Raymond Lo, Mark Streich
CC2
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
MICRO2