Module regalloc2::moves

source ·

Structs§

  • Final stage of move resolution: finding or using scratch registers, creating them if necessary by using stackslots, and ensuring that the final list of moves contains no stack-to-stack moves.
  • A ParallelMoves represents a list of alloc-to-alloc moves that must happen in parallel – i.e., all reads of sources semantically happen before all writes of destinations, and destinations are allowed to overwrite sources. It can compute a list of sequential moves that will produce the equivalent data movement, possibly using a scratch register if one is necessary.

Enums§

  • A list of moves to be performance in sequence, like a MoveVec<T>, except that an unchosen scratch space may occur as well, represented by Allocation::none().

Type Aliases§

  • A list of moves to be performed in sequence, with auxiliary data attached to each.