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