Optimize away undefined values from value component of TNull
Summary:
We emit a plenty of unnecessary `xor r, r`s to clear a register holding a value
component of TNull, especially when such value is used in a ternary or being
returned from a function.
Let's add a `ldundefq` to define such registers, use the existing register
allocator logic to issue these instructions right before non-optimizable use
(such as phijmp) and emit them as a noop.
Reviewed By: ricklavoie
Differential Revision:
D20861091
fbshipit-source-id:
dc8b24d332750c6f700d92585b3798a98aa945e2