https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65181

--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Thomas Schwinge <tschwi...@gcc.gnu.org>:

https://gcc.gnu.org/g:3861d362ec7e3c50742fc43833fe9d8674f4070e

commit r15-6733-g3861d362ec7e3c50742fc43833fe9d8674f4070e
Author: Thomas Schwinge <tschwi...@baylibre.com>
Date:   Sat Dec 7 00:17:49 2024 +0100

    nvptx: PTX 'alloca' for '-mptx=7.3'+, '-march=sm_52'+ [PR65181]

    ..., and use it for '-mno-soft-stack': PTX "native" stacks.

            PR target/65181
            gcc/
            * config/nvptx/nvptx.cc (nvptx_get_drap_rtx): Handle
            '!TARGET_SOFT_STACK'.
            * config/nvptx/nvptx.md (define_c_enum "unspec"): Add
            'UNSPEC_STACKSAVE', 'UNSPEC_STACKRESTORE'.
            (define_expand "allocate_stack", define_expand "save_stack_block")
            (define_expand "save_stack_block"): Handle '!TARGET_SOFT_STACK',
            PTX 'alloca'.
            (define_insn "@nvptx_alloca_<mode>")
            (define_insn "@nvptx_stacksave_<mode>")
            (define_insn "@nvptx_stackrestore_<mode>"): New.
            * doc/invoke.texi (Nvidia PTX Options): Update '-msoft-stack',
            '-mno-soft-stack'.
            * doc/sourcebuild.texi (nvptx-specific attributes): Document
            'nvptx_runtime_alloca_ptx'.
            (Add Options): Document 'nvptx_alloca_ptx'.
            gcc/testsuite/
            * gcc.target/nvptx/alloca-1.c: Evolve into...
            * gcc.target/nvptx/alloca-1-O0.c: ... this, ...
            * gcc.target/nvptx/alloca-1-O1.c: ... this, and...
            * gcc.target/nvptx/alloca-1-sm_30.c: ... this.
            * gcc.target/nvptx/vla-1.c: Evolve into...
            * gcc.target/nvptx/vla-1-O0.c: ... this, ...
            * gcc.target/nvptx/vla-1-O1.c: ... this, and...
            * gcc.target/nvptx/vla-1-sm_30.c: ... this.
            * gcc.c-torture/execute/pr36321.c: Adjust.
            * gcc.target/nvptx/__builtin_alloca_0-1-O0.c: Likewise.
            * gcc.target/nvptx/__builtin_alloca_0-1-O1.c: Likewise.
            *
gcc.target/nvptx/__builtin_stack_save___builtin_stack_restore-1.c:
            Likewise.
            * gcc.target/nvptx/softstack.c: Likewise.
            *
gcc.target/nvptx/__builtin_stack_save___builtin_stack_restore-1-sm_30.c:
            New.
            * gcc.target/nvptx/alloca-2-O0.c: Likewise.
            * gcc.target/nvptx/alloca-3-O1.c: Likewise.
            * gcc.target/nvptx/alloca-4-O3.c: Likewise.
            * gcc.target/nvptx/alloca-5.c: Likewise.
            * lib/target-supports.exp (check_effective_target_alloca): Adjust.
            (check_nvptx_default_ptx_isa_target_architecture_at_least)
            (check_nvptx_runtime_ptx_isa_target_architecture_at_least)
            (check_effective_target_nvptx_runtime_alloca_ptx)
            (add_options_for_nvptx_alloca_ptx): New.
            libgomp/
            * fortran.c (omp_get_device_from_uid_): Adjust.
            * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.

Reply via email to