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
|