https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93582
--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Richard Biener from comment #17) > As for the more complex case of handling non-constants mixed with constants > I do have some patches in the queue for stage1 for the partial overlap case > but only for byte offsets/sizes again. > > Note there's always the question as to what replacements we want VN to make > since an extra load can be quite cheap sometimes compared to having a live > register that needs to be combined. VN doesn't know whether the memory > can be elided later to offset such cost :/ I wanted to try to handle the complex case, and see if e.g. something we use in store-merging where we have to deal with all the bit but not byte aligned positions and sizes couldn't be used here too. > For bitfields there's also the ever present bitfield-lowering idea... I understood Andrew P. is working on something, but no idea how far it is. > And the fact that optimize_bit_field_compare is done way too early. Agreed on that.