MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Reverse If-Conversion (1993) [61 citations — 8 self]

by Nancy J. Warter ,  Scott A. Mahlke ,  Wen-mei W. Hwu ,  B. Ramakrishna Rau
in Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation
Add To MetaCart

Abstract:

In this paper we present a set of isomorphic control transformations that allow the compiler to apply local scheduling techniques to acyclic subgraphs of the control flow graph. Thus, the code motion complexities of global scheduling are eliminated. This approach relies on a new technique, Reverse If-Conversion (RIC), that transforms scheduled If-Converted code back to the control flow graph representation. This paper presents the predicate internal representation, the algorithms for RIC, and the correctness of RIC. In addition, the scheduling issues are addressed and an application to software pipelining is presented. 1 Introduction Compilers for processors with instruction level parallelism hardware need a large pool of operations to schedule from. In processors without support for conditional execution, branches present a scheduling barrier that limits the pool of operations to the basic block. Since basic blocks tend to have only a few operations, global scheduling techniques are ...

Citations

675 The program dependence graph and its use in optimization – Ferrante, Ottenstein, et al.
597 Trace scheduling : A technique for global microcode compaction – Fisher - 1981
290 Effective compiler support for predicated execution using the hyperblock – Mahlke, Lin, et al. - 1992
271 Bulldog: A Compiler for VLIW Architectures – Ellis - 1985
233 Conversion of control dependence to data dependence – Allen, K, et al. - 1983
223 Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing – Rau, Glaeser - 1981
119 Global instruction scheduling for superscalar machines – Bernstein, Rodeh - 1991
101 Overlapped loop support in the cydra 5 – Dehnert, Hsu, et al. - 1989
100 The Cydra 5 departmental supercomputer – Rau, Yen, et al. - 1989
94 On Predicated Execution – Park, Schlansker - 1991
91 A Systolic Array Optimizing Compiler – Lam - 1989
67 Region Scheduling: An Approach for Detecting and Redistributing Parallelism – Gupta, Soffa - 1990
64 Enhanced modulo scheduling for loops with conditional branches – Warter, Haab, et al. - 1992
40 A global resource-constrained parallelization technique – Ebcioglu, NicQlau - 1989
21 Experiences Using Control Dependence in PTRAN – Cytron, Ferrante, et al. - 1989
21 The program dependence graph and vectorization – Baxter, Bauer - 1989
12 Compiler support for predicated execution in superscalar processors – Lin - 1992
10 The bene t of predicated execution for software pipelining – Warter, Lavery, et al. - 1992