#
b2ddb1f6 |
|
11-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
convert license headers to SPDX
|
#
4d2b89d9 |
|
17-Dec-2019 |
Edward Pierzchalski <ed.pierzchalski@data61.csiro.au> |
graph-refine: print failing function in check_funs
|
#
61e7c553 |
|
01-Aug-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Compress dead-arc/missing-node warnings.
|
#
490258fe |
|
22-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Quieter load messages.
|
#
87f29cdb |
|
20-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Tweaks, setup for next feature.
|
#
ae17ea94 |
|
11-Jul-2018 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Factor out a common substitution pattern.
|
#
c901a1c3 |
|
11-Jul-2018 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Setup for doing some more loop linear analysis. There's always more to be done, apparently.
|
#
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.
|
#
c2b900e5 |
|
10-Mar-2017 |
Thomas Sewell <Thomas.Sewell@data61.csiro.au> |
Handle CountTrailingZeroes.
|
#
baf4c831 |
|
08-Jan-2017 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Beginnings of support for 16-bit linear series.
|
#
ca41e2ff |
|
19-Dec-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Expand loop example, fix logic.py bugs, solve. A new version of the loop-example also includes a loop with a function call. Some tweaking in logic.py is necessary to detect the key linear sequences, but the problems all solve pretty quickly now, which is a huge improvement on their original times.
|
#
c86baea2 |
|
05-Sep-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Add definitions for WordReverse. Simple operator that does the obvious thing, puts the bits of a word in the opposite order. Can be used to count zeroes at the other end, which is exactly what GCC does on ARM.
|
#
32f1e6f4 |
|
11-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Support dmb instruction and an accumulator. For unrolled loops, we may need an accumulator where a value is incremented and trimmed to 8-bits repeatedly. Bleh.
|
#
d22aeb5c |
|
08-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Miscellaneous updates. 1) Support new instruction'* function naming scheme from the graph decompiler which includes instruction addresses in the name of the function. This makes the instruction naming scheme uniform, which is a good thing. 2) Have tokens appear by name in SMT expressions and diagnostic results. 3) Miscellaneous refactor and cleanup
|
#
e0c2cd89 |
|
08-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Minor fixes.
|
#
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.
|
#
0a038961 |
|
01-Aug-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Minor adjustments.
|
#
69d3b448 |
|
15-Jul-2016 |
Felix Kam <felix.kam@nicta.com.au> |
skip fastpath functions for now
|
#
567f3f94 |
|
12-Jul-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Use ss as expected in Expr.subst. Oops. Thanks to Brian Campbell for reporting.
|
#
4dca5cd0 |
|
05-Jul-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Implementation of TokenWords: WordArray variant. Indexed by Token rather than by a word type. Should be more convenient to work with for various C ghost data.
|
#
2a73a6f3 |
|
05-Jul-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Initial implementation of Tokens. Token is a new type that encodes strings. The only supported operation is equality. They're actually encoded as unique words at the SMT level, but we avoid committing to that too early.
|
#
df6d9fc7 |
|
06-Jun-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
No idea what I was thinking last night.
|
#
5670642e |
|
06-Jun-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Faster implementation of pseudo compiling.
|
#
8eb3c8ce |
|
06-Jun-2016 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Make a little more use of subst from syntax.
|
#
5b65ad24 |
|
06-Apr-2016 |
Thomas Sewell <thomas.sewell@nicta.com.au> |
Introduce expr subst operation. A bit like visits, allows broad adjustments of exprs. Avoids duplicating expressions when no substitutions are actually made.
|
#
b2ca9573 |
|
20-Dec-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Bugfixes.
|
#
0c1f1fe1 |
|
17-Dec-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
First steps toward floating point support. This gets mostly just passed through to the relevant SMT logics. Since they're still transitionally supported it's not clear whether to change the QF_ABV logic or not.
|
#
ea41c460 |
|
07-Dec-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Add PArrayValid support. Not fully tested yet, but this is the rough shape of support for array size assertions, including dynamic array size assertions.
|
#
e741b210 |
|
13-Oct-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Performance tweaks.
|
#
c76de0fc |
|
08-Oct-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Make function hashes stable. It turns out hash(None) varies by python implementation. Strings, ints and tuples thereof have stable hashes. Keeping the hashes stable allows StackBounds and LoopBounds files to be shared between machines.
|
#
3d6869e3 |
|
24-Aug-2015 |
Thomas Sewell <Thomas.Sewell@nicta.com.au> |
Import of graph-refine tool.
|