Skip to content

nir: Pack is_if into parent_{instr,if}

Alyssa Rosenzweig requested to merge alyssa/mesa:nir/parent-if into main

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

Merge request reports