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
Instruction Combining

At the source code level, combine two statements into one statement. At the IL (Intermediate Language) level, combine two instructions into one instruction.

Example:

In the code fragment below, the two post-increment statements can be combined into one statement.

    int i;
    
    void f (void)
    {
      i++;
      i++;
    }
    

The code fragment below shows the function after the two post-increment statements have been combined into one statement.

    int i;
    
    void f (void)
    {
      i += 2;
    }
    

Notes:

Many operators are candidates for instruction combining, including addition, subtraction, multiplication, left and right shift, boolean operations, and others. Some compilers perform instruction combining for some operators; few compilers perform instruction combining for a wide variety of operators. For example, some compilers will combine two post-increment statements, but will not combine two pre-increment statements, or two post-decrement statements.

Instruction combining can be performed within basic blocks and across basic blocks. Some compilers perform this optimization within basic blocks; few compilers perform this optimization across basic blocks.

Loop unrolling can provide additional opportunities for instruction combining.

© 1990-2012 Nullstone Corporation. All Rights Reserved.