about summary refs log tree commit diff homepage
path: root/LICENSE.TXT
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-06-08 07:41:41 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-06-08 07:41:41 +0000
commitf992f74ff55edfbe8134eee4c5494803da8fdabc (patch)
tree482e9be639a81fd9cc8c04323d06bfc721d0556e /LICENSE.TXT
parent28977fcc65d672ae0fcd200d862cf784f0af93e4 (diff)
downloadklee-f992f74ff55edfbe8134eee4c5494803da8fdabc.tar.gz
FastCexSolver: Start implementing exact value propogation.
 - So far this just propogates obvious equalities and reads. For example,
   FastCexSolver can now prove that:
--
array arr219[3] : w32 -> w8 = symbolic
(query [(Eq 235 N0:(Read w8 0 arr219))]
       (Eq 235 N0))
--
   is valid.

Even though this is very basic, it is good enough to solve ~50% of the valid
queries on pcresymtest-[34].pc (total reduction in # of queries is ~25%).
Unfortunately, this only gives a 1-2% speedup, which is disappointing, but there
is a lot more we can do.

I'm a little surprised the speedup is so low, this may be an indicator that
there are some other things going on, for example perhaps the STP expr
construction cost for arrays is very high, and we inevitably will end up paying
this unless we solve so many queries that some arrays never ever make it to STP.


git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73058 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'LICENSE.TXT')
0 files changed, 0 insertions, 0 deletions