History log of /seL4-l4v-master/graph-refine/syntax.py
Revision Date Author Comments
# 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.