Commit Graph

1658 Commits

Author SHA1 Message Date
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