Download Bound-T Reference Manual - Bound

Transcript
Error Message
ILP result “R” is not integral.
Rounded to N.
Meaning and Remedy
Problem
The IPET solver (lp_solve) returns a solution (the
execution counts for all parts of the flow-graph) that
assigns a non-integral number R of repetitions to some
node or edge. This is a false solution. Bound-T
continues with the rounded number N.
Reasons
Error in lp_solve.
Solution
Report the problem to Tidorum Ltd. It seems that a
large range of execution counts within the same
subprogram may trigger this problem, so a possible
work-around is to isolate the innermost loops in
separate subprograms.
ILP result “R” is not integral and/or Problem
too large.
Instruction-repetition assertion
applies to several steps : locus
The IPET solver (lp_solve) returns a solution (the
execution counts for all parts of the flow-graph) that
assigns a number R of repetitions to some node or edge,
where R is not an integer number or is a larger integer
number than Bound-T can handle.
Reasons
Error in lp_solve, or a subprogram with a greater
number of loop repetitions than Bound-T can handle.
Solution
Report the problem to Tidorum Ltd. If the number R is
an integer, it may help to isolate the innermost loops of
this subprogram into separate subprograms, thus
bringing down the number of loop repetitions per call
of the subprogram that contains the loop.
Problem
This assertion bounds the number of repetitions
(executions) of an instruction. However, the instruction
is present (modelled) in several flow-graph steps in the
subprogram under analysis. Therefore, Bound-T cannot
apply this assertion.
Reasons
Perhaps the instruction is part of a delayed-branch
instruction sequence and is therefore modelled in both
the branch-taken step and in the branch-not-taken
step.
Perhaps the instruction is part of an idiomatic instruction sequence that is executed and modelled as a whole
in one step of the flow-graph, but is also entered (by a
jump) in the middle and is therefore modelled in two or
more parts in other steps of the flow-graph.
Irreducible flow-graph prevents
arithmetic analysis
Irreducible flow-graph
Solution
Modify the assertion to use another instruction that is
part of the same execution path in the flow-graph, but
is modelled in only one step.
Problem
The subprogram cannot be analysed arithmetically
because the control-flow graph is not “reducible”, that
is, it cannot be divided into properly nested loops.
Reasons
See the error message “Irreducible flow-graph”.
Solution
Ditto.
Problem
The control-flow graph of the subprogram under
analysis is not "reducible", that is, it cannot be divided
into properly nested loops where each loop has a single
point of entry (the loop head). The loops intersect one
another in some way, or there are jumps into loops that
by-pass the loop head. Bound-T can only analyse loopbounds (execution time) and arithmetic for reducible
flow-graphs.
Bound-T Reference Manual
Error messages
111