a³ Release 10.08 ---------------- New target ---------- StackAnalyzer module now available for H8. Qualification Support Kits (QSKs) --------------------------------- * New QSK available for the aiT module of a³ for LEON3 (gcc-3.4.4). * New QSK available for the StackAnalyzer module of H8 (including measurements). * Extended WCET QSK for MPC603e: added tests for local loop-bound specifications via source-file references. * Extended Stack QSK for M68020 by measurements. * Improvemens to all QSKs: * The QSK test procedures are now supported by a graphical user interface. * Extended QSKs by new tests for recently added AIS features. * Extended QSKs by new tests for recently added a³ GUI options. * All QSKs are now shipped with an additional report called "Software Verification Results". This report is an acknowledgement that all tests have been successfully executed before the delivery. a³ toolchain ------------ * zlib compression tuned for speed. * Improved speed of prediction-file base toolchain. XTC handling ------------ Fixed the issue with the very first XTC request not being answered under certain circumstances. Visualization ------------- * Folding all nodes will no longer cause the graph to be hidden. * Nodes found via the search dialog can now be made visible by double-clicking on the search result. * The number of graph folding operations has been reduced to a minimum. * Empty tooltips are no longer displayed. a³ GUI ------ * Improved reading of large DWARF debug info inside the GUI. * DWARF debug info and Sections info only created and loaded on demand. * Better cleanup of temporary files. * Better message handling for background threads such as disassembly writer. * Fixed disassembly problem that resulted in some routines not being shown in the GUI. * Added graphical visualization of the WCET contributions. * Show which analysis are to be run in the summary view. * Show error if specified machine description file does not exist. * Each information view uses the same filter dialog. * Highlighted errors in editor view are cleared upon re-running an analysis. * Improved integration of search in the visualized graph. * Added overwrite mode in the text editor. * Improved analysis overview: analyses can now be re-sorted via drag-and-drop. * All editor, message, and disassembly views can now be detached from the a³ GUI. * In the debug views, type information is now displayed in cases for which it was missing before. * Improved Disassembly view. * Fixed problem with Windows filenames and "Display source". * In the WCET Contributions view, missing or unavailable analysis results are now marked as "n/a" rather than as "-1". * The message window is no longer cleared upon analysis start unless expressly configured that way. * Improved the "Show applied annotation" feature. If the same AIS annotation is valid for several subsequent source-code lines, their buttons for jumping to the annotation are combined into a single one. * Code view has been renamed into Disassembly view for improved consistency. * "Disable visualization" applies to batch mode only. * H8: "CPU Variant" has been renamed into "Instruction Set". * HCS12: clarified that register contents (not register addresses) have to be specified in the machine configuration dialog. * Minor general cleanups. AIS --- * New annotation "skip target check" replaces the annotation "computed_target_feasible=1". * Targets of indirect function calls can now be specified. * AIS expressions can now produce and process modulo information. * New operators "uint" and "sint" for casting arbitrary values to unsigned and signed integers of given bit width. * New operator "exactly ==" for comparing two sets of possible values. * New operator "exact" to test if a value is exact. * Special value NaN is replaced by (-inf .. inf). * The predicate "defined" that tested for NaN has been removed. * The "round" operation is now called "int". * HC11/HCS12: annotations describing the effect of the swi instruction on stack and timing have been replaced by more generic ones. * V850: new annotations for software exceptions. * ARM7: flashes (with description in AIS) are supported again. * a³ with contexts: there can be more than one interproc specification. Features that already existed in 10.04, but weren't documented -------------------------------------------------------------- * a³ with timing and daan: execution times of code snippets excluded from analysis may be expressions. * a³ with timing: loops may have time bounds. * Annotations concerning memory areas: * New short form "position .. + n bytes". * New form "position align + n bytes". * New annotation "might contain data" for memory areas. * a³ where memory accesses are of importance: clarification about "ARRAY + 0 bytes". Decoding -------- * Reduced memory usage during DWARF debug info extraction. * GHS compiler: improved handling of data symbols containing path names. The symbols are now transformed in the same manner as routine symbols. * The decoder now warns about relocations (non-statically linked binaries or presence of dynamic link info). * Improved detection of read-only memory areas and the "is copied from" annotation. * Improved handling of the program-point annotation "<name> + <n> branch/conditional". * Fixed issue with include paths for finding source files, if the path separators don't match the ones of the used operating system or are mixed (/ vs. \). * C16x: fixed mnemonic for addresses in bit-addressable modes. * H8: * Improved decoding of jsr/jmp @@a8 with zeropage address indirection. * Improved mnemonics of several instructions. * HCS12: * Improved decoding of CPS instruction. * Improved switch table patterns. * Improved readability by using alias mnemonics for assembly instructions. * Support for xb-byte encodings for call instruction with computed call target. * M32: improved decoding of several instructions and their representation in the disassembly. * M68020: improved decoding of switch tables (XD Ada). * PCP2: * Support for DWARF line info. * Correct order of operands for exit instruction in decoded assembly string. * Improved decoding of load/store instructions. * Improved decoding of control-flow instructions. * Consistent assembly strings for immediate constants. * PPC: * Extension for switch table detection. * Improved decoding of switch tables for GCC. * MPC55xx: extended VLE instruction set to support the following instructions intended to improve the interrupt handler efficiency: * e_lmvgprw * e_stmvgprw * e_lmvsprw * e_stmvsprw * e_lmvsrrw * e_stmvsrrw * e_lmvcsrrw * e_stmvcsrrw * e_lmvdsrrw * e_stmvdsrrw * SPARC: * The annotations "condition ... is false if ..." and "condition ... is false make infeasible" now work for conditional branches with delay slots. This improves the analysis precision. * Improved decoding of switch tables (GNAT Ada compiler). * Improved handling of tail calls. * V850: * General improvements to decoding of V850 binaries. * Improved decoding of binaries comprising code holes. * Better decoding of computed branches and tail calls. * Handle "fetrap", "syscall", and "rie" as trap. * Improved resolving of indirect function pointers. * Improved detection of size information for stack frames embedded in the code segment for StackAnalyzer for V850/GHS. Stack and value analysis ------------------------ * Value analysis is less strict with asserts annotations evaluated in speculative analysis contexts. * H8: * Improved precision for instructions such as "sub.w". * General improvements. * HCS12: the value analysis now aborts when no memory map is specified. This check was previously done by the pipeline analysis. * V850: * Stack analysis now available for generic V850 E1/ES and E2 targets. * Improved handling of computed calls in stack analysis. * M68020: stack analysis now supports the STOP instruction. * PowerPC: improved precision of value analysis thanks to ranges for loop variables calculated by loop analysis. Path analysis ------------- * New, improved implementation of the prediction-file based path analysis. The analysis is now faster, consumes less memory, and uses no swap files. * New, improved implementation of the prediction-file based path analysis using ILP which allows additional user constraints and persistence analysis. * Correct handling of address ranges above 0x8000000 in the count-accesses annotations. * Prediction-file based path analyses now support the TLB miss penalties. * Improve persistence analysis for not fully unrolled examples. Cache and pipeline analysis --------------------------- * Improved May-Cache analysis. * Improved persistence analysis if multiple caches are used. * Local best case added to multiple targets. * The unrolling-consistency check for user-provided loop bounds is now also performed for default loop bounds, possibly resulting in more warnings such as "loop seems to have more iterations than specified". * C16x: * Added support for C165UTAH. * The report file now includes the bus configuration. * PPC750: improved handling of write-triggered reads on write-back memory areas. * TriCore: improved handling of writes into external memory. * V850: * More user-friendly handling of memory accesses that target unknown memory regions (i.e. memory regions that are not specified in the AIS file). * Improved timing model with regard to prepare and dispose instructions. * Minor fix for memory map generation for V850E/FK3-H: the area 0x3fec664…0x3fec665 now correctly contains CAN1 module transmit history list register instead of being classified as a general programmable peripheral area. * Significantly improved performance and reduced memory consumption of the pipeline analysis. Visualization and reporting --------------------------- * Output UCB results per "evaluated as" annotation. Trace validation (used for QSKs) -------------------------------- * Added optional validation by means of NEXUS-like measurements. * The user may now specify an address range for bus and queue event traces, limiting the scope of validation to events contained in that specific address range. ============================================================================== Last modified on 11 August 2010 by alex@absint.com. Copyright 2010 AbsInt. http://www.absint.com/ ============================================================================== An HTML version of these release notes is available at http://www.absint.com/releasenotes/a3/10.08/