Kevin Quick
eb93bb4e3a
[ppc-symbolic] updates for crucible nonce change from (ST h) to IO
...
Changes for compatibility with Crucible pull request
285 (https://github.com/GaloisInc/crucible/pull/285 ) and the
corresponding changes in macaw symbolic.
2019-07-19 13:19:14 -07:00
Kevin Quick
40eff5802c
[x86_symbolic] updates for crucible nonce change from (ST h) to IO
...
Changes for compatibility with Crucible pull request
285 (https://github.com/GaloisInc/crucible/pull/285 ) and the
corresponding changes in macaw symbolic.
2019-07-19 13:15:44 -07:00
Kevin Quick
48c3ba1fed
[symbolic] additional nonce-related adjustments from 'ST h' to 'IO'.
2019-07-19 09:40:24 -07:00
Kevin Quick
80de5d94e5
[symbolic] update for use of safe Nonce in crucible.
...
Update for compatibility with Crucible changes in
https://github.com/GaloisInc/crucible/pull/285 .
2019-07-19 00:13:00 -07:00
Kevin Quick
05ae3a6016
Merge pull request #55 from GaloisInc/mhnf_rewrites
...
Add mhnf rewriting.
2019-07-11 15:51:28 -07:00
Kevin Quick
01c2d5d387
Add mhnf rewriting.
...
The parseFetchAndExecute in Discovery attempts to identify ParsedITE
terminal statements by examining the value of the ip_reg via
valueAsApp and pattern matching on a Mux statement. This patch adds
specific handling in the Macaw CFG Rewriter to attempt to float Mux
statements upwards (aka "Mux Head Normal Form") so that they will be
the top-most ip_reg value and therefore be recognized as a ParsedITE
terminator.
For macaw-ppc testing of the 988KB gzip binary, this increased the
number of blocks found from 1339 to 37950 (and increased the test
runtime from 1.36s to 88.14s).
2019-07-10 23:59:11 -07:00
Joe Hendrix
074ab61f2e
Merge pull request #53 from GaloisInc/semiring_upd
...
Semiring upd
2019-07-03 13:24:31 -07:00
Kevin Quick
9fbcbe510f
[macaw-semmc] update TH semantics instantiation for What4 semiring changes.
2019-07-02 11:16:42 -07:00
Kevin Quick
1d03a7b3b6
[base] update ParsedIte/ParsedBranch reference in comment.
2019-07-02 11:09:16 -07:00
Joe Hendrix
a6893d0cf2
Merge pull request #52 from GaloisInc/jhx/registers
...
Bump submodules; clarify stack offset abstract values
2019-07-01 18:02:22 -07:00
Joe Hendrix
06b0390cfd
Fix missing import in x86
2019-07-01 17:13:06 -07:00
Joe Hendrix
f2249ffc23
Bump macaw-base version for export
2019-07-01 16:47:46 -07:00
Joe Hendrix
17c09c974f
Bump submodules; clarify stack offset abstract values
2019-07-01 16:35:47 -07:00
Joe Hendrix
f0d2f16b64
Merge pull request #51 from GaloisInc/jhx/no-haddock
...
Stop building haddock
2019-06-13 22:30:13 -07:00
Joe Hendrix
2ca07b49e1
Stop building haddock
2019-06-13 13:03:40 -07:00
Joe Hendrix
7fb1e80ae0
Merge pull request #50 from GaloisInc/jhx/funargs
...
Jhx/funargs
2019-06-13 10:35:59 -07:00
Joe Hendrix
cbb3814017
Fix warnings.
2019-06-13 09:33:58 -07:00
Joe Hendrix
e9b9379234
Add haddock to .travis so we catch errors in documentation strings.
2019-06-12 15:53:38 -07:00
Joe Hendrix
c4870f9a37
Merge remote-tracking branch 'origin/master' into jhx/funargs
2019-06-12 15:51:55 -07:00
Joe Hendrix
dba7a2e88d
Bump submodules; version dependencies
2019-06-12 15:49:05 -07:00
Joe Hendrix
ee6f1379ae
Additional cleanup to function args; bump versions.
...
This also provides some exports needed by Reopt.
2019-06-12 15:26:19 -07:00
Kevin Quick
e2819759df
Merge pull request #49 from GaloisInc/fixhaddockbase2
...
[base] fix haddock syntax error.
2019-06-05 15:34:54 -07:00
Kevin Quick
7bacee3e9d
[base] fix haddock syntax error.
2019-06-05 14:40:59 -07:00
Joe Hendrix
3565f32e74
Merge pull request #48 from GaloisInc/jhx/funargs
...
Generalize function argument analysis.
2019-06-05 16:36:57 -04:00
Joe Hendrix
d3c23cbe55
Remove CPP extension
2019-06-05 15:55:29 -04:00
Joe Hendrix
ee137cccc4
Cleanup warnings.
2019-06-05 15:31:03 -04:00
Joe Hendrix
4368ed6239
Fix parameterized-utils and bump version.
2019-06-05 09:50:12 -04:00
Joe Hendrix
c3f747aa86
Update dependencies/minor corrections.
2019-06-05 09:02:25 -04:00
Joe Hendrix
d58292feda
Generalize function argument analysis.
...
This patch focuses on function argument analysis, but includes some
other cleanups.
The main changes are to add additional comments and cleanups to the
function argument analysis code. This also extends the analysis so
that we can annotate the types of some of the functions and use those
types during analysis.
As part of this we tighten the PLTStub checking, and clean up the
elfloader in some minor ways.
2019-06-05 04:42:02 -04:00
Joe Hendrix
a31638d8db
Merge pull request #46 from GaloisInc/jhx/minor-changes
...
Jhx/minor changes
2019-06-05 01:41:22 -07:00
Joe Hendrix
6a4b75852f
Fix missing case in macaw-symbolic
2019-05-30 23:39:38 -07:00
Joe Hendrix
5c097b45b7
Continue exporting width equality proofs comparison/equality.
2019-05-30 22:54:49 -07:00
Joe Hendrix
78927cce64
Merge remote-tracking branch 'origin/master' into jhx/minor-changes
2019-05-30 22:52:30 -07:00
Joe Hendrix
0b248c44c4
Merge pull request #45 from GaloisInc/jhx/bump-submodules
...
Increment submodules
2019-05-30 22:51:50 -07:00
Joe Hendrix
5221880b10
This makes a few minor changes primarily for reopt.
...
WidthEqProofs are now irrelevant. Two proofs with the same
coercision source and destination will be equal. This allows us to
add a transitivity constructor without introducing spurious
inequalities, and will in the future allow us to collapse multiple
bitcasts into a single bitcast.
adjustedLoadRegionIndex is exported for reopt.
TypeRepr now has a pretty instance.
2019-05-30 10:31:45 -07:00
Joe Hendrix
41a75597a0
Submodule/stack updates.
2019-05-28 14:25:50 -07:00
Joe Hendrix
b13c3b3c63
Bump submodules
2019-05-28 13:07:35 -07:00
Joe Hendrix
208971ed15
Merge pull request #43 from GaloisInc/jhx/no-branch
...
Drop ite support
2019-05-14 21:53:13 -07:00
Joe Hendrix
f0f5d0e123
Improve jump table bounds accuracy.
...
This adds functionality to the jump table bounds to work with trunc
that was deliberately removed in the last patch due to buggy code.
2019-05-14 21:03:08 -07:00
Joe Hendrix
d0a1a156d4
Change stack files and travis to stop failing on Crucible warnings.
2019-05-14 18:59:09 -07:00
Joe Hendrix
9e86ffde60
Fix stack dependencies and update versions.
2019-05-14 18:24:01 -07:00
Joe Hendrix
0b7dae7add
Merge remote-tracking branch 'origin/jhx/no-branch' into jhx/no-branch
2019-05-14 17:48:37 -07:00
Joe Hendrix
1607e83eef
Minor refactoring; improved branch abstract state propagation.
...
This primarily refines the abstract state propagated to branch
pairs. It was needed on the ARM platform to support the IT blocks
with the changes to the Core representation in macaw-base 0.3.6.
This also includes a few simplifications added and comment
improvements.
2019-05-14 17:45:30 -07:00
Joe Hendrix
6299fa489b
Fix bug in AbsState.trunc
2019-05-11 16:29:54 -07:00
Joe Hendrix
ca2ca7d130
Merge remote-tracking branch 'origin/master' into jhx/no-branch
2019-05-06 10:54:35 -07:00
Joe Hendrix
7245b6a1c5
Merge pull request #44 from GaloisInc/jhx/dynamic-resolution
...
Update elf loader to use dynamic symbol table.
2019-05-02 15:23:05 -07:00
Joe Hendrix
56cadae3ae
Update submodules
2019-05-02 14:29:10 -07:00
Joe Hendrix
d20a3a9820
Update elf loader to use dynamic symbol table.
2019-05-02 12:36:43 -07:00
Joe Hendrix
008a53f3db
Add parsedTermSucc
2019-04-30 13:09:39 -07:00
Joe Hendrix
c6a7ba7cd6
Rename pblock fields to be more descriptive.
2019-04-29 22:21:10 -07:00