inference: streamline `builtin_effects` (#52177)
Composed of the following two commits:
---
> stop passing `arginfo` to `builtin_effects`
(e758d079d7f1aa185f2e90273be0340d669dfa3e)
`builtin_effects` no longer requires the `arginfo` parameter, as
`getfield_effects` doesn't depend on analyzing `fargs` for
`:boundscheck` information anymore. The equivalent analysis is now
done as the post-opt analysis.
Given that `:boundscheck` expressions are now lowered to an independent
statement, even if we need to analyze `fargs` within `builtin_effects`,
we would likely need to pass `sv::AbsIntState` too in order to allow
it to use `ssa_def_slot`. For now, it's more efficient to just eliminate
the passing of `arginfo` since it is not necessary.
---
> exclude the first builtin function from `argtypes` of
`builtin_effects` (90c7477223f72839a2927a1ef6b3d293fde6a945)
Streamlined the `builtin_effects` function to accept `argtypes` without
including the builtin function itself. The first argument in the
previous implementation of `argtypes` was just redundant. This change
might reduce unnecessary allocations.
---