nir: Pack is_if into parent_{instr,if}
The current layout of nir_src
is quite bad... the bool is_if
tag on the tagged union gets padded out to a full 8 byte field on 64-bit systems. This MR solves that by first redirecting all access to nir_src::parent_instr,parent_if,is_if
through getters, allowing us to rearrange the internal layout as we please, and then reimplementing nir_src
with a tagged pointer. This shrinks nir_src
by 8 bytes, which is a substantial saving.
Edited by Alyssa Rosenzweig