Use blockwise dominator graph walk in parallelize_mem.
Add constant folding through Mux nodes (similar to Phi nodes).
Dump condition codes in clear text.
Add flag outputs to destination address mode instructions.
Allow source address mode for multiple Cmp nodes with the same arguments.
Allow for later optimizations in use_dest_am.
Check for correct mode when rematerializing flags.

Now that the flag outputs of arithmetic operations are used, a node may
have multiple connections to the flag producer, but only one of these
actually reads the flags.
Use result of latest possible rematerializations.

When a node is rematerialized because its flag result is needed, rewire
later uses of this node (but not the flags) to use the rematerialized
node's results. This reduces the lifetime of the node's results.
Make flags_remat work with DestAM nodes.
Simplify rematerialized Sub nodes after be_sched_fix_flags.

When a Sub node is rematerialized, only its flags will be needed. In this
case, the Sub can be replaced by a Cmp and there is no need to have a
scratch register to store the Sub's result.
When transforming a Cmp node, look for an adjacent Sub and use its flags.
Add a callback to be_sched_fix_flags to optimize flag usage.

Implemented for now: When the flags of one Sub or Cmp node are needed, but
the flags of another one are currently alive, invert the condition code and
avoid rematerialization.
Use correct mode for flag-Proj in transform_sub_to_neg_add.
Provide for AddrModeS nodes in remat_simplifier.
Change NotMem to have mode T for consistency's sake.

NotMem now has two unused outputs but shares its mode and its Proj numbers
with the other DestAM operations.
Attach a Proj M to all DestAM operations.

Other code still expects DestAM operations to have mode M.
Use a node instead of a block walk for remat_simplifier.
Remember to copy the AM attrs when replacing a node.