Fences should only refine the semantics of a multi-threaded program, so it makes sense that we should check this in the fuzzer by scattering random fences.
[x] Add representation of fence instructions to mini-C;
[x] Add convert/reify of above;
[x] Add a fuzzer action that generates fences with a random memory order.
Fences should only refine the semantics of a multi-threaded program, so it makes sense that we should check this in the fuzzer by scattering random fences.