Support for 64-bit Windows (Vista and Windows 7).
-lto force showing of launcher. For example,
a3 mpc755 -lshows launcher with all available MPC755 builds.
license.dat. If the user clicks on “
Change License…”, ał tries to import the selected license file to the installation directory. If there is no writing permission, the license will be stored in a data directory suggested by the operating system.
is entered with…” can now be a symbolic loop expression. For example, it is now possible to specify:
instruction "prime" + 1 loop is entered with @ctr = @ctr + 1;
restrictfor the intersection of result intervals
tryfor supplying default values for expressions that fail to produce a bounded interval.
value” that stands for the result of the automatic loop bound analysis. By using this variable, the analysis result may be modified, e.g. restricted by “
restrict” or replaced by a default value if it is unbounded.
Ebe a general expression):
loop <PP> max restrict (value, E)This restricts the automatically determined loop bound
valueby the value of expression
E. The resulting loop bound is the intersection of the two intervals. For example, if the provided expression
(1..6)and the automatically determined
(3..9), the resulting loop bound will be
loop <PP> max try (value, E)This supplies
Eas the default value to be taken if the automatic analysis returns the
value“unbounded” or “undefined”. However, in all other cases the
valuereturned by the analysis is taken, even if it is less precise than
loop <PP> max try (restrict (value, E), 1000)This specifies that either the result of the automatic loop analysis or the user-provided expression
Ewill be used, depending on which is more precise. The number
1000in this example serves as a fall-back solution if both the automatic analysis and the evaluation of
Efail to produce a bounded interval.
mem (0x123)” or “
mem (sp + 8)”. The access width is the standard access width of the target architecture. Non-standard widths can be specified as “
mem byte (0x123)” or “
mem (0x123, 1)”.
loop <PP> max try (mem(sp+1, 1), 10)If the value analysis can determine the top-most byte on the stack (because of the “
, 1” in
mem), then the value of the byte is taken as the loop bound. Otherwise, the loop bound is
snippet <PP> is not executed if try ((mem byte (0x123)) ≤ 2, 0)The referenced code snippet is excluded from analysis if the byte content of memory cell
0x123is less than
2. If the content of the memory cell is not known by the analysis, the expression evaluates to the default value
0(which corresponds to false).
instruction <PP> is a tail call;This is equivalent to:
instruction <PP> is a call and immediately returns;
SNIPPET P1..P2 IS EVALUATED AS "Name";where
Nameis a label to identify the code snippet in the report file. It will then appear in the report file under the heading
* WCET contributions of region 'Name' (routine 'R'):Note: this additional output can only be produced if “Path analysis variant: ILP based” is selected under “Configuration” → “Analyses”.
reg(3) or reg(13)” is stored in register 3 during some part of its lifetime and in register 13 the rest of the time.
reg(3):4, ?:4, fp-12:4” indicates a twelve-byte value whose first four bytes reside in register three, the middle four bytes are unavailable (e.g. due to optimization), and the last four bytes are in memory, twelve bytes before the frame base.
ldi || ldi”.
rtifor stack analysis.
bctrinstructions) is now compared with the instructions that follow in the control flow graph. The result is used to compute infeasible paths and issue warning messages for inconsistent control flows, e.g. resulting from wrong user annotations.
sst*and the “
bit3 dis16[reg]” forms of
always returns” annotation, for example:
snippet "R" is external and takes max 0 cycles and always returns;
predpathannow supports tasks that are not completely unrolled.