[PATCH 2/5] d3dcompiler: Compute liveness ranges for variables.
Matteo Bruni
matteo.mystral at gmail.com
Wed Apr 1 13:42:56 CDT 2020
On Wed, Apr 1, 2020 at 8:41 PM Zebediah Figura <zfigura at codeweavers.com> wrote:
>
> On 4/1/20 1:32 PM, Matteo Bruni wrote:
> > On Mon, Mar 30, 2020 at 4:54 AM Zebediah Figura <z.figura12 at gmail.com> wrote:
> >>
> >> @@ -2641,7 +2726,8 @@ struct bwriter_shader *parse_hlsl(enum shader_type type, DWORD major, DWORD mino
> >> goto out;
> >> }
> >>
> >> - index_instructions(entry_func->body, 1);
> >> + /* Index 0 means unused; index 1 means function entry, so start at 2. */
> >> + index_instructions(entry_func->body, 2);
> >
> > Do we need to reserve a special value for function entry?
> >
>
> An instruction can both consume values and produce them, so a
> variable/node with liveness 4-5 and another with 5-6 can be allocated to
> the same register. Hence a variable written at function entry needs to
> have a first_write index before any reads. This seemed like the most
> natural way to do that, though I welcome other suggestions.
Yep, that's a good reason for reserving 1. Thanks :)
More information about the wine-devel
mailing list