macaw/macaw-aarch32-symbolic
Tristan Ravitch 3e918f8b51
Revise handling of syscalls in AArch32 to match X86 (#246)
The old formulation (with system calls as block terminators) proved to be
impossible to implement properly. Handlers for syntax overrides have very
limited types (`IO`, rather than `OverrideSim`), which made symbolic branching
and reusing overrides impossible.

This change replaces the system call block terminator with an arch-specific
function that is translated into a function handle lookup (which is then
dispatched to with a call).

Unfortunately, this refactoring required combining the AArch32 simplification
module with the architecture extension definitions, due to the new translation
relying on the simplifier instance.
2021-11-24 11:59:56 -08:00
..
src/Data/Macaw/AArch32 Revise handling of syscalls in AArch32 to match X86 (#246) 2021-11-24 11:59:56 -08:00
tests AArch32: Support conditional returns (#243) 2021-11-19 16:20:50 -08:00
CHANGELOG.md Add a (dummy) symbolic backend for AArch32 2020-04-05 21:16:03 -07:00
LICENSE Add a (dummy) symbolic backend for AArch32 2020-04-05 21:16:03 -07:00
macaw-aarch32-symbolic.cabal AArch32: Support conditional returns (#243) 2021-11-19 16:20:50 -08:00
Setup.hs Add a (dummy) symbolic backend for AArch32 2020-04-05 21:16:03 -07:00