About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
MICRO 1991
Conference paper
Code duplication: An assist for global instruction scheduling
Abstract
The recent appearance of supersca/ar machines (like IBM RISC System/6000, Intel i860, etc.) dictates that instruction scheduling must be done by the compiler well beyond the basic block boundaries. Moreover, when performing global instruction scheduling of the program, to further enhance the performance of the generated code, techniques which include speculative execution, duplication of code, software pipelining, etc. must be employed. Recently, a scheme for such global instruction scheduling was proposed in [BR91]. Here we describe an efficient technique for supporting duplication of code in the presence of a (general) acyclic control flow, as required by the global instruction scheduling framework. The algorithms have been implemented in the context of the IBM XL family of compilers, and we are in process of evaluating them on the IBM RISC System/6000 machines.