#
b2ddb1f6 |
|
11-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
convert license headers to SPDX
|
#
4cccd431 |
|
12-Jul-2018 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Adjusted hypothesis kind, Eq assuming PC. This is a fairly big change, I guess. The 'future' proof I need to do requires a hypothesis kind in which an equality is gated by whether the relevant addresses are visited. Perhaps all equalities could be phrased this way anyway?
|
#
2b6e7cef |
|
09-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
More debug tricks.
|
#
d9dbd18a |
|
03-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Fix symbol printing in debug memory traces. Looks like it got broken a while back when some formatting was consolidated.
|
#
bdbcb018 |
|
01-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Factor out some patterns and more debug code. Adds some new helpers mk_n_implies and smt_num_t to factor out some common use patterns. Also adds yet more debug tracing.
|
#
e4e3fdad |
|
22-Mar-2017 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Silliest of bugfixes in handling ctz. Need to reverse first, then clz. Not the other way around. Seriously.
|
#
d6ac10ad |
|
06-Mar-2017 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Debug tweaks.
|
#
9bc43af8 |
|
01-Mar-2017 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Debug tweak.
|
#
f3127c36 |
|
19-Feb-2017 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Debug tweaks.
|
#
0941efb8 |
|
16-Jan-2017 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Tweak a debug tracing mechanism.
|
#
4cd3fe2b |
|
09-Jan-2017 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Tweaks, mostly diagnostic.
|
#
09ad0171 |
|
09-Jan-2017 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Two major tweaks to var cycle analysis. Firstly, var cycle analysis is now generally much better at handling masking problems, e.g. when a linear variable is repeatedly masked off or cast up and down, interspersed with other arithmetic. Secondly, var cycle analysis detects dead paths within loops with some vague approximation of const-propagation, which in particular allows an offset value pageBitsForSize (SectionBits) in map_kernel_window to be recognised as a constant offset.
|
#
fc6a3259 |
|
03-Jan-2017 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Debug tweaks.
|
#
c5230a2e |
|
28-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Tweak debug again.
|
#
a304c17e |
|
27-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Handle case splits in previous debug wrapper. OK, returning the case split isn't so useful, it's better to keep probing instead.
|
#
f9ec6e74 |
|
27-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Add debug wrapper for funcall matching search. The previous facility can speed up some otherwise lengthy searches down to a likely match (and a likely inductive failure). The new debug wrapper makes this easier to do.
|
#
4a5097f3 |
|
23-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Tweak era matching in debug script.
|
#
7f77120e |
|
20-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Improve debug script funcall matching.
|
#
d6810c5a |
|
18-Oct-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Adjust approach to splittables. Generate splittable information lazily and store in cached_analysis of problem. Also check for complex loops at a slightly different point. Also replace an experimental better split point detector in logic with another experimental one which also doesn't work perfectly yet.
|
#
3ba7950c |
|
31-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Add 'strncmp' optimisation to search algorithm. The search algorithm performed poorly in functions such as strncmp where the only values changing in the loop are linear sequences. (The approach is to relate these linear sequences to the initial values rather than any matching values in the other loop.) The optimisation is to first scan for any memory access addresses or function call arguments that form linear progressions, and try to match them. In particular, if doing so requires a case split, it's a fast way to find it. In general we also narrow down to a smaller collection of possible loop matching sequences.
|
#
2516659f |
|
12-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Debug & fix some array assertion issues.
|
#
b43b12cd |
|
04-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Hacky support for 8-bit reads in loops. The (heuristic) stack variable estimation now sort-of supports reads of 8-bit words inside loops, by just taking a slice of another word.
|
#
4a687109 |
|
02-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
New feature: instruction specs. Adds bodies for instruction'mcr* and asm_instruction'mcr* etc functions. Handles mcr and mrc forms already. These bodies just map to impl'mcr_ functions, but the mapping eliminates irrelevant complexity (some synonyms and also the details of which register holds args/rets). Works for a couple of functions.
|
#
80bbfdd7 |
|
29-Mar-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Adjust for API change in check_hyp_group. Somewhere in the parallelisation change, the change of return type of this function didn't get propagated.
|
#
94419c9b |
|
04-Sep-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Debug support: trace mem address symbol names. This makes some debug traces much easier to read.
|
#
3d6869e3 |
|
24-Aug-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Import of graph-refine tool.
|