https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125597
--- Comment #7 from Tamar Christina <tnfchris at gcc dot gnu.org> --- > > Fixes it, and allows the various forms in the vectorizer where we fold out > > of > > IL statements before inserting to continue working. > > > > Or do you want me to force these temporary placeholders into the IL Richi? > > My > > concern here is that we can create a use-before-def issue because any new > > statements emitted must be in the right order whereas now we just build up > > seq > > and flush at the gcond GSI. > > Yes, I want us to avoid even intermediate invalid GIMPLE because that can > (as we see here) lead to all sorts of issues. > Cool, I'll finish the patch then. > > The above SCEV fix seems less hacky to me. > > Not to me. Fair enough. I was confused about why all GIMPLE need to be in IL because aren't things like patterns not in IL? But then I realized that the issue here isn't strictly that the DEF isn't in IL, but that it's being referenced from something that did get emitted to IL. Understood.
