This patch introduces SIInstrWorklist to process a worklist of MI in moveToVALU. SIInstrWorklist maintains a vector of MachineInstr for worklist and another vector of MachineInstr for deferred list. Deferred list is used to delay the legalization of instruction.
Currently MBUF instructions are tracked in deferred list and will be processed after all the instructions in Initial worklist are done.
This patch is prerequisite for D141030
Should this avoid being reconstructed for each handled case?