| | |
Summary: Generalized Index-Set Splitting
Christopher Barton1
, Arie Tal2
, Bob Blainey2
, and Jos´e Nelson Amaral1
1
Department of Computing Science,
University of Alberta, Edmonton, Canada
{cbarton, amaral}@cs.ualberta.ca
2
IBM Toronto Software Laboratory, Toronto, Canada
{arietal, blainey}@ca.ibm.com
Abstract. This paper introduces Index-Set Splitting (ISS), a technique
that splits a loop containing several conditional statements into sev-
eral loops with less complex control flow. Contrary to the classic loop
unswitching technique, ISS splits loops when the conditional is loop vari-
ant. 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
|