AGGRCOPY

Category

Optimization and tuning

Pragma equivalent

None.

Purpose

Enables destructive copy operations for structures and unions, which can improve performance.

Syntax

Read syntax diagramSkip visual syntax diagramAGGRC( NOOVERLOVERL )

Defaults

AGGRCOPY(NOOVERLAP)

Parameters

OVERLAP
Specifies that the source and destination in a structure assignment might overlap in memory. Programs that do not comply to the ANSI C standard as it pertains to non-overlap of source and destination assignment may need to be compiled with the OVERLAP suboption.
NOOVERLAP
Instructs the compiler to assume that the source and destination for structure and union assignments do not overlap. This assumption lets the compiler generate faster code.

Usage

The AGGRCOPY option instructs the compiler on whether or not the source and destination assignments for structures can overlap. They cannot overlap according to ISO Standard C rules. For example, in the assignment a = b;, where a and b are structs, a is the destination and b is the source.

The usage status of this option is inserted in the object file to aid you in diagnosing a problem with your program.

IPA effects

The IPA compile step generates information for the IPA link step. The AGGRCOPY option affects the regular object module if you requested one by specifying the IPA(OBJECT) option.

The IPA link step accepts the AGGRCOPY option, but ignores it.

The IPA link step merges and optimizes the application code, and then divides it into sections for code generation. Each of these sections is a partition. The IPA link step uses information from the IPA compile step to determine if a subprogram can be placed in a particular partition. Only compatible subprograms are included in a given partition.

The value of the AGGRCOPY option for a partition is set to the value of the first subprogram that is placed in the partition. During IPA inlining, subprograms with different AGGRCOPY settings may be combined in the same partition. When this occurs, the resulting partition is always set to AGGRCOPY(OVERLAP).

Predefined macros

None.