2005 | OriginalPaper | Buchkapitel
Generalized Index-Set Splitting
verfasst von : Christopher Barton, Arie Tal, Bob Blainey, José Nelson Amaral
Erschienen in: Compiler Construction
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
This paper introduces
Index-Set Splitting
(ISS), a technique that splits a loop containing several conditional statements into several loops with less complex control flow. Contrary to the classic
loop unswitching
technique, ISS splits loops when the conditional is loop variant. ISS uses an
Index Sub-range Tree
(IST) to identify the structure of the conditionals in the loop and to select which conditionals should be eliminated. This decision is based on an estimation of the code growth for each splitting: a greedy algorithm spends a pre-determined code growth budget. ISTs separate the decision about which splits to perform from the actual code generation for the split loops. The use of ISS to improve a loop fusion framework is then discussed. ISS opportunity identification in the SPEC2000 benchmark suite and three other suites demonstrate that ISS is a general technique that may benefit other compilers.