Nullstone Logo

COMPANY
Home
Contacts
Customers
Testimonials

PRODUCTS
Overview
NULLSTONE for C
NULLSTONE for Java
Technical Overview

SUPPORT
Release Notes
Download
PGP Information
Service Report
Write Us

INFORMATION
Performance Results
Glossary of Terms

RELATED LINKS
Compiler Connection
Compiler Jobs

Previous Up Next
Loop Collapsing

Some nested loops can be collapsed into a single-nested loop to reduce loop overhead and improve run-time performance.

Example:

In the code fragment below, the double-nested loop on i and j can be collapsed into a single-nested loop.

    int a[100][300];
    
    for (i = 0; i < 300; i++)
      for (j = 0; j < 100; j++)
        a[j][i] = 0;
    

Here is the code fragment after the loop has been collapsed.

    int a[100][300];
    int *p = &a[0][0];
    
    for (i = 0; i < 30000; i++)
      *p++ = 0;
    

Notes:

Loop collapsing can improve the opportunities for other optimizations, such as loop unrolling.

Loop collapsing is not common in C compilers, but is supported in some C compilers that target the scientific market.

© 1990-2012 Nullstone Corporation. All Rights Reserved.