[Mesa-dev] [PATCH] nir: add support for structured COME FROM

Jason Ekstrand jason at jlekstrand.net
Wed Apr 1 17:34:43 PDT 2015


On Wed, Apr 1, 2015 at 9:59 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> Connor Abbott <cwabbott0 at gmail.com> writes:
>
>> Unfortunately, we can't support unstructured COME FROM yet, since we
>> can't structurize arbitrary control flow graphs. Also TODO is adding
>> support for threading by having multiple come_from's point to the same
>> unconditional branch, as well as various other INTERCAL features.
>>
>
> I believe what we are really badly missing is a
> call-with-current-continuation opcode, COME FROM or any other obscure
> control flow construct of your choice will become a straightforward
> special case.  Please fix!

Ok, I feel a little silly saying this, but I have absolutely no idea
what either of you are talking about.  What's wrong with calling it
"preds" and what is a call-with-current-continuation opcode and what
does that have to do with a nir_print patch?  I'm very confused.
--Jason

>> Signed-off-by: Connor Abbott <cwabbott0 at gmail.com>
>> ---
>>  src/glsl/nir/nir_print.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/glsl/nir/nir_print.c b/src/glsl/nir/nir_print.c
>> index fa11a31..2086e21 100644
>> --- a/src/glsl/nir/nir_print.c
>> +++ b/src/glsl/nir/nir_print.c
>> @@ -655,12 +655,10 @@ print_block(nir_block *block, print_var_state *state, unsigned tabs, FILE *fp)
>>     qsort(preds, block->predecessors->entries, sizeof(nir_block *),
>>           compare_block_index);
>>
>> -   print_tabs(tabs, fp);
>> -   fprintf(fp, "/* preds: ");
>>     for (unsigned i = 0; i < block->predecessors->entries; i++) {
>> -      fprintf(fp, "block_%u ", preds[i]->index);
>> +      print_tabs(tabs, fp);
>> +      fprintf(fp, "come_from %u\n", preds[i]->index);
>>     }
>> -   fprintf(fp, "*/\n");
>>
>>     free(preds);
>>
>> --
>> 2.1.0
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>


More information about the mesa-dev mailing list