Loop Disqualification Messages
A-3
FeedbackSolutions
Too Many Instructions
Oversized loops, typically, will not schedule due to too many registers needed.
This may also cause additional compilation time in the compiler. The limit on
the number of instructions is variable.
Solution
Use intrinsics in C code to select more efficient ’C6000 instructions.
Write code in linear assembly to pick exact ’C6000 instruction to be executed.
For more information...
See section 3.4.1,
Using Intrinsics, on page 3-15.
See Chapter 7,
Optimizing Assembly Code via Linear Assembly.
Software Pipelining Disabled
Software pipelining has been disabled by a command–line option. Pipelining will
be turned off when using the –mu option, not using –o2/–o3, or using – ms2/–ms3.
Uninitialized Trip Counter
The trip counter may not have been set to an initial value.
Suppressed to Prevent Code Expansion
Software pipelining may be suppressed because of the –ms1 flag. When the
–ms1 flag is used, software pipelining is disabled in less promising cases to
reduce code size. To enable pipelining, use –ms0 or omit the –ms flag alto-
gether.
Loop Carried Dependency Bound Too Large
If the loop has complex loop control, try –mh according to the recommenda-
tions in the
TMS320C6000 Optimizing C/C++ Compiler User’s Guide.
Cannot Identify Trip Counter
The loop control is too complex. Try to simplify the loop.