This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/84028] New: [nvptx] nested-function-1.f90 hangs at -O1
- From: "vries at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 24 Jan 2018 17:51:24 +0000
- Subject: [Bug target/84028] New: [nvptx] nested-function-1.f90 hangs at -O1
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84028
Bug ID: 84028
Summary: [nvptx] nested-function-1.f90 hangs at -O1
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: vries at gcc dot gnu.org
Target Milestone: ---
These openacc fails are left on trunk:
...
WARNING: program timed out.
FAIL: libgomp.oacc-fortran/nested-function-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O1 execution test
WARNING: program timed out.
FAIL: libgomp.oacc-fortran/nested-function-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O2 execution test
FAIL: libgomp.oacc-fortran/nested-function-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops
-ftracer -finline-functions execution test
FAIL: libgomp.oacc-fortran/nested-function-1.f90 -DACC_DEVICE_TYPE_nvidia=1
-DACC_MEM_SHARED=0 -O3 -g execution test
...
This minimal test-case hangs at GOMP_NVPTX_JIT=-O1 and higher:
...
program foo
integer :: a(3,3,3), k, kk, kkk, l, ll, lll
a = 1
!$acc parallel num_gangs(1) num_workers(2)
if (any(a(1:3,1:3,1:3).ne.1)) call abort
do ll=1,1
!$acc loop vector
do lll=1,1
a(1,1,1) = 2
enddo
enddo
if (a(1,1,1).ne.2) call abort
!$acc end parallel
end program foo
...
We generate for the abort:
...
$L4:
@ %r56 bra.uni $L27;
@ %r57 bra $L28;
{
call _gfortran_abort;
trap;
exit;
}
$L28:
exit;
$L27:
...
This is similar to PR81352, but for workers. The neutered workers start
executing random code after $L27.