Fix a bug in preOptimizeStLoc
With the control-flow sensitive local type inference in
hhbbc, a local was being asserted as Type::Null. Because
isKnownDataType returned true, preOptimizeStLoc decided that
converting that local from KindOfUninit (the actual live type) to
KindOfNull did not require storing a new m_type value, leading to a
crash down the line in the next translation. I tried cleaning up
isKnownDataType but too many things depend on it (also it's a little
conceptually shaky because of how we deal with Str), so for now tasked
and just fixed this function.
Reviewed By: @swtaarrs
Differential Revision:
D1099460