Texas Instruments TMS320C6000 Programmer's Manual page 363

Hide thumbs Also See for TMS320C6000:
Table of Contents

Advertisement

Pipeline Failure Messages
Solution
Split into multiple loops or reduce the complexity of the loop if possible.
Unpartition/repartition the linear assembly source code.
Probably best modified by another technique (i.e. loop unrolling).
Modify the register and/or partition constraints in linear assembly.
For more information...
See section 6.9, Loop Unrolling (in Assembly) , on page 6-94.
See section 3.4.3.4, Loop Unrolling (in C) , on page 3-44.
Trip var. Used in Loop – Can't Adjust Trip Count
Description
If the loop counter (named trip counter because of the number of trips through
a loop) is modified within the body of the loop, it typically cannot be converted
into a downcounting loop (needed for software pipelining on the 'C6000). If
possible, rewrite the loop to not modify the trip counter by adding a separate
variable to be modified.
The fact that the loop counter is used in the loop is actually determined much
earlier in the loop qualification stage of the compiler. Why did the compiler try
to schedule this anyway? The reason has to do with the –mh option. This op-
tion allows for extraneous loads and facilitates epilog removal. If the epilog was
successfully removed, the loop counter can sometimes be altered in the loop
and still allow software pipelining. Sometimes, this isn't possible after schedul-
ing and thus the feedback shows up at this stage.
Solution
Replicate the trip count variable and use the copy inside the loop so that the
trip counter and the loop reference separate variables.
Use the –mh option.
For more information...
See section 3.4.3.6, What Disqualifies a Loop From Being Software Pipelined ,
on page 3-49.
FeedbackSolutions
A-9

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C6000 and is the answer not in the manual?

Questions and answers

Table of Contents