ir3: Properly enable ENDOFQUAD optimization with preambles
Normally getone
involves helper invocations because the first invocation may be a helper invocation, but for the special case of the preamble we don't actually care which invocation gets chosen. This meant that we were unnecessarily keeping helper invocations alive until after the preamble. Fix this by plumbing through a new intrinsic that doesn't require helper invocations, reusing the IR3_INSTR_NEEDS_HELPERS
flag.
This fixes a performance regression with !29873 (merged) and should help performance.
Edited by Connor Abbott