diff options
author | Thomas Schwinge <tschwinge@baylibre.com> | 2025-02-24 10:09:11 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@baylibre.com> | 2025-02-27 21:48:15 +0100 |
commit | 22e76700aea63eb8c298403bb2e717a6a4fc9c1e (patch) | |
tree | 0c4bee7234025364ea2e599d549777322fa8d36e /gcc/tree-data-ref.h | |
parent | 5c9ef3bdab0c4377c8ba90c234ce891b80ae6338 (diff) | |
download | gcc-22e76700aea63eb8c298403bb2e717a6a4fc9c1e.zip gcc-22e76700aea63eb8c298403bb2e717a6a4fc9c1e.tar.gz gcc-22e76700aea63eb8c298403bb2e717a6a4fc9c1e.tar.bz2 |
nvptx: Delay 'sorry, unimplemented: dynamic stack allocation not supported' from expansion time to code generation
This gives the back end a chance to clean out a few more unnecessary instances
of dynamic stack allocation. This progresses:
PASS: gcc.dg/pr78902.c (test for warnings, line 7)
PASS: gcc.dg/pr78902.c (test for warnings, line 8)
PASS: gcc.dg/pr78902.c (test for warnings, line 9)
PASS: gcc.dg/pr78902.c (test for warnings, line 10)
PASS: gcc.dg/pr78902.c (test for warnings, line 11)
PASS: gcc.dg/pr78902.c (test for warnings, line 12)
PASS: gcc.dg/pr78902.c (test for warnings, line 13)
PASS: gcc.dg/pr78902.c strndup excessive bound at line 14 (test for warnings, line 13)
[-UNSUPPORTED: gcc.dg/pr78902.c: dynamic stack allocation not supported-]
{+PASS: gcc.dg/pr78902.c (test for excess errors)+}
UNSUPPORTED: gcc.dg/torture/pr71901.c -O0 : dynamic stack allocation not supported
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr71901.c -O1 [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
UNSUPPORTED: gcc.dg/torture/pr71901.c -O2 : dynamic stack allocation not supported
UNSUPPORTED: gcc.dg/torture/pr71901.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions : dynamic stack allocation not supported
UNSUPPORTED: gcc.dg/torture/pr71901.c -O3 -g : dynamic stack allocation not supported
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr71901.c -Os [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
UNSUPPORTED: gcc.dg/torture/pr78742.c -O0 : dynamic stack allocation not supported
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr78742.c -O1 [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr78742.c -O2 [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr78742.c -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
[-UNSUPPORTED:-]{+PASS:+} gcc.dg/torture/pr78742.c -O3 -g [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
UNSUPPORTED: gcc.dg/torture/pr78742.c -Os : dynamic stack allocation not supported
[-UNSUPPORTED:-]{+PASS:+} gfortran.dg/pr101267.f90 -O [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
[-UNSUPPORTED:-]{+PASS:+} gfortran.dg/pr112404.f90 -O [-: dynamic stack allocation not supported-]{+(test for excess errors)+}
gcc/
* config/nvptx/nvptx.md (define_expand "allocate_stack")
[!TARGET_SOFT_STACK]: Move
'sorry ("dynamic stack allocation not supported");'...
(define_insn "@nvptx_alloca_<mode>"): ... here.
gcc/testsuite/
* gcc.target/nvptx/alloca-1-unused-O0-sm_30.c: Adjust.
Diffstat (limited to 'gcc/tree-data-ref.h')
0 files changed, 0 insertions, 0 deletions