Tristan Ravitch
fabb8799d8
Make tests less chatty
2020-04-08 19:57:26 -07:00
Tristan Ravitch
958aeaa3ed
Remove the nested mux match rule from macaw core
...
We can now do enough rewriting in the ARM backend that it isn't needed. This
adds extra ARM rewriting rules and a term cache to make matching easier.
2020-04-08 19:46:32 -07:00
Tristan Ravitch
d865811701
In ARM, read the current register value from a snapshot
...
We were reading partially updated values that were committed to the register
state out-of-order, yielding some bad results.
This commit takes a snapshot of the register state before executing each
instruction and only reads register values from the snapshot.
2020-04-08 11:54:28 -07:00
Tristan Ravitch
36c67eb586
Fix an error introduced during cleanup
2020-04-08 07:27:28 -07:00
Tristan Ravitch
b0683c06a9
Poke the ARM simplifier into working
...
The generic simplifier needed a case to handle xor.
The more specific simplifier needed a case to coalesce adjacent additions.
2020-04-08 02:23:47 -07:00
Tristan Ravitch
997e435a0c
WIP Debugging rewriting rules
...
They fire sometimes and definitely clean up the IR, but they are missing a few
key cases still
2020-04-08 00:04:51 -07:00
Tristan Ravitch
0bb603098e
Remove the old macaw-arm
...
It has been supereded by macaw-aarch32 (based on the ASL semantics)
2020-04-07 00:12:23 -07:00
Tristan Ravitch
a5977918ac
Merge remote-tracking branch 'origin/wip/equiv' into feature/asl
2020-04-06 23:16:15 -07:00
Tristan Ravitch
6faf54ec42
Merge branch 'feature/asl' of github.com:GaloisInc/macaw into feature/asl
2020-04-06 21:46:37 -07:00
Daniel Matichuk
2257c18d65
use appendStmt properly for SIMD write mode
2020-04-06 21:37:47 -07:00
Daniel Matichuk
c5f374682e
bump semmc
2020-04-06 21:01:41 -07:00
Daniel Matichuk
464835403e
import fixup
2020-04-06 20:53:06 -07:00
Daniel Matichuk
a2ee426714
Merge remote-tracking branch 'origin/feature/asl' into feature/asl
2020-04-06 20:48:34 -07:00
Daniel Matichuk
c3bdbfd191
add guarded register/memory writes
2020-04-06 20:38:39 -07:00
Daniel Wagner
277e1cd379
provide a way to mark certain jumps as terminal
2020-04-06 20:33:20 -07:00
Tristan Ravitch
5e5c90c993
Updates to the simplifier and call recognition
2020-04-06 17:56:22 -07:00
Tristan Ravitch
b8c3e65389
Add a test with a call
2020-04-06 15:56:43 -07:00
Tristan Ravitch
b9672eb7f9
Add a missing symbolic instance
2020-04-05 22:08:58 -07:00
Tristan Ravitch
c5fe84f97c
Add a missing instance for ARMReg
2020-04-05 21:17:47 -07:00
Tristan Ravitch
f3b6b6ba4a
Add a (dummy) symbolic backend for AArch32
2020-04-05 21:16:03 -07:00
Tristan Ravitch
1fa9b86b26
Rename macaw-asl to macaw-aarch32
...
This is more descriptive, especially since we will eventually have
macaw-aarch32 (also derived from the ASL specs)
2020-04-05 15:16:39 -07:00
Tristan Ravitch
58150e91b5
Update macaw-ppc to the macaw-semmc endianness parameterization
2020-04-05 14:44:53 -07:00
Daniel Matichuk
a739223371
disable logging output
2020-04-04 22:27:08 -07:00
Daniel Matichuk
77e721ac0e
add support for redundant nested muxes
2020-04-04 22:24:47 -07:00
Ben Selfridge
b79561914e
Merge branch 'feature/asl' of https://github.com/GaloisInc/macaw into feature/asl
2020-04-04 19:17:07 -07:00
Ben Selfridge
d8a601a1b8
feature/asl: checking in latest, test-conditional almost passing
2020-04-04 19:11:23 -07:00
Daniel Matichuk
4614658073
bump semmc
2020-04-04 19:01:16 -07:00
Daniel Matichuk
31901ff4d7
translate memory writes via function calls
2020-04-04 18:58:54 -07:00
Daniel Matichuk
d1f72478eb
add use __BranchTaken flag
2020-04-04 16:37:00 -07:00
Daniel Matichuk
8b252eab0d
concretize some more CPU state
2020-04-04 13:53:25 -07:00
Ben Selfridge
094f4be22e
Merge branch 'feature/asl' of https://github.com/GaloisInc/macaw into feature/asl
2020-04-04 11:26:43 -07:00
Daniel Matichuk
42e22cfba5
bump submodules
2020-04-04 03:51:08 -07:00
Daniel Matichuk
6716c663a2
initial attempt at handling stateful branches
2020-04-04 03:13:03 -07:00
Daniel Matichuk
5dab9c5209
Merge remote-tracking branch 'origin/master' into feature/asl
2020-04-03 23:38:19 -07:00
Ben Selfridge
5bd55bb7ad
feature/asl: fixed build by using expected return type for init_gpr
2020-04-03 22:09:20 -07:00
Daniel Wagner
4ffec20d0a
complete the merge
2020-04-03 22:49:34 -04:00
Ben Selfridge
8afc18dc62
feature/asl: BROKEN BUILD -- updated asl-translator, need to fix
2020-04-03 18:33:31 -07:00
Daniel Wagner
d39ad7a024
Merge branch 'master' into wip/equiv
2020-04-03 00:20:53 -04:00
Andrei Stefanescu
0be59e5815
Update Macaw to use HasLLVMAnn. ( #122 )
2020-04-02 17:58:47 -07:00
Daniel Wagner
c8328006ac
warning police
2020-04-02 13:49:41 -04:00
Ben Selfridge
db848db3ef
feature/asl: added test-conditional-a32 test
2020-04-01 22:36:18 -07:00
Ben Selfridge
c21cf9e77b
feature/asl: rid not concrete errors more descriptive
2020-04-01 22:35:52 -07:00
Ben Selfridge
050625300e
feature/asl: passing test-just-exit-a32
2020-04-01 20:57:22 -07:00
Ben Selfridge
c8736a83a3
feature/asl: bump semmc
2020-04-01 20:56:14 -07:00
Ben Selfridge
7e78fbcf25
feature/asl: fixed syntax error and removed integers
2020-03-29 10:21:09 -07:00
Ben Selfridge
5f9267e97f
feature/asl: added failing tests
2020-03-29 10:20:52 -07:00
Ben Selfridge
c5f41cab52
feature/asl: added all registers besides memory to register list
2020-03-29 10:19:41 -07:00
Ben Selfridge
1b7fb5be73
feature/asl: bump asl-translator
2020-03-29 10:19:09 -07:00
Ben Selfridge
9bceb3a06c
feature/asl: updating to new semmc
2020-03-26 10:01:10 -07:00
Joe Hendrix
564a0a7b33
Merge pull request #120 from GaloisInc/jhx/function-arg-warnings
...
Remove spurious warnings from function args.
These were often incorrect.
2020-03-26 08:46:13 -07:00