1) Amends the definition of Assign in Microcode to allow assignment to nothing. This represents a havoc and implements #104.
2) Rewrites the command framer to work on Microcode instead of BoolExpr, implementing #112.
3) Adds Microcode to CommandSemantics, freeing it up for use in backends directly instead of relying on the low-level Boolean semantics or high-level PrimCommand representation.
This PRQ does three big things:
1) Amends the definition of
Assign
inMicrocode
to allow assignment to nothing. This represents ahavoc
and implements #104. 2) Rewrites the command framer to work onMicrocode
instead ofBoolExpr
, implementing #112. 3) AddsMicrocode
toCommandSemantics
, freeing it up for use in backends directly instead of relying on the low-level Boolean semantics or high-levelPrimCommand
representation.Most changes are internal for now.