Commit Graph

13 Commits

Author SHA1 Message Date
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
Daniel Matichuk
2257c18d65 use appendStmt properly for SIMD write mode 2020-04-06 21:37:47 -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
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
c5fe84f97c Add a missing instance for ARMReg 2020-04-05 21:17:47 -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