Hello Bernd, Can you have a look at this patch (unchanged from previous posting in January)? The rest of the patches in the set are reviewed.
On Wed, 22 Mar 2017, Alexander Monakov wrote: > This patch adds handling of new omp_simt_enter/omp_simt_exit named insns > in the NVPTX backend. > > * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare. > (nvptx_output_simt_exit): Declare. > * config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use > cfun->machine->unisimt_location. Handle NULL unisimt_predicate. > (init_softstack_frame): Move initialization of crtl->is_leaf to... > (nvptx_declare_function_name): ...here. Emit declaration of local > memory space buffer for omp_simt_enter insn. > (nvptx_output_unisimt_switch): New. > (nvptx_output_softstack_switch): New. > (nvptx_output_simt_enter): New. > (nvptx_output_simt_exit): New. > * config/nvptx/nvptx.h (struct machine_function): New fields > has_simtreg, unisimt_location, simt_stack_size, simt_stack_align. > * config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec. > (UNSPECV_SIMT_EXIT): Ditto. > (omp_simt_enter_insn): New insn. > (omp_simt_enter): New expansion. > (omp_simt_exit): New insn. > * config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option. Thanks. Alexander