SMS - Swing Modulo Scheduling in GCC

February 2005

We are pleased to announce that Mostafa Hagog and Ayal Zaks, of IBM Haifa Labs, have contributed Swing Modulo Scheduling (SMS) to GCC 4.0. Their implementation is based on the articles:

SMS is intended to schedule instructions of loops rather than the traditional scheduler (in GCC) that does not give a special handling for loops. For more information on the theory behind SMS take a look at the 2004 GCC summit proceedings (page 55). This optimization helps in loops where there is a place to run consecutive iterations concurrently but the traditional instruction scheduling is not able to fully utilize the hardware functional units. This optimization is disabled by default because of compile time consumption; -fmodulo-sched activates it. The current implementation of SMS is preliminary and is not effective in the following cases:

Improvements to SMS to overcome (but not only) the first three restrictions are expected in the coming releases of GCC.

For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at gcc@gcc.gnu.org. All of our lists have public archives.

Copyright (C) Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

These pages are maintained by the GCC team. Last modified 2026年07月21日.

AltStyle によって変換されたページ (->オリジナル) /