Pipeline Failure Messages
A-6
Did Not Find Schedule
Description
Sometimes, due to a complex loop or schedule, the compiler simply cannot
find a valid software pipeline schedule at a particular iteration interval.
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, on page 6-94.
Iterations in Parallel > Max. Trip Count
Description
Not all loops can be profitably pipelined. Based on the available information
on the largest possible trip count, the compiler estimates that it will always be
more profitable to execute a non-pipelined version than to execute the pipe-
lined version, given the schedule that it found at the current iteration interval.
Solution
Probably best optimized by another technique (i.e. unroll the loop completely).
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.
See section 3.4.3,
Software Pipelining, on page 3-40.
Speculative Threshold Exceeded
Description
It would be necessary to speculatively load beyond the threshold currently
specified by the –mh option.
Solution
Increase the –mh threshold as recommended in the software pipeline feed-
back located in the assembly file.