Assign registers to unused dests unless the opcode is whitelisted.
If an opcode's dest is unused and can be eliminated by DCE, then
there's no good reason to check for an InvalidReg dest in that
opcode. Have the register allocator just give it a dest.
Opcodes which are effect-ful may stick around even if their
result is unused. A subset of those opcodes can emit better
code if the dest is unused. Whitelist just those opcodes.
This diff makes the default be to assign a register to unused
dests, if the opcode is not whitelisted, and removes the
invalid-dest checking from several opcodes in CodeGenerator.
Reviewed By: @swtaarrs
Differential Revision:
D1187390