r219036 - in /branches/gomp-4_0-branch/libgomp:...
tschwinge@gcc.gnu.org
tschwinge@gcc.gnu.org
Mon Dec 22 22:53:00 GMT 2014
Author: tschwinge
Date: Mon Dec 22 22:53:55 2014
New Revision: 219036
URL: https://gcc.gnu.org/viewcvs?rev=219036&root=gcc&view=rev
Log:
libgomp: Fix locking in OpenMP GOMP_target* functions.
libgomp/
* libgomp.c (struct gomp_device_descr): Add lock member.
* oacc-host.c (goacc_host_init): Initialize it.
* target.c (gomp_target_init): Likewise.
(gomp_init_dev_tables): Remove function.
(GOMP_target, GOMP_target_data, GOMP_target_update): Instead of
calling gomp_init_dev_tables, separate device and memory mapping
initilization, guarded by appropriate locking. Check (immutable)
device capabilities early.
With Intel MIC offloading (emulation), this fixes:
FAIL: libgomp.fortran/target7.f90 -O0 execution test
FAIL: libgomp.fortran/target7.f90 -O1 execution test
FAIL: libgomp.fortran/target7.f90 -O2 execution test
FAIL: libgomp.fortran/target7.f90 -O3 -fomit-frame-pointer execution test
FAIL: libgomp.fortran/target7.f90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: libgomp.fortran/target7.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: libgomp.fortran/target7.f90 -O3 -g execution test
FAIL: libgomp.fortran/target7.f90 -Os execution test
FAIL: libgomp.fortran/target8.f90 -O0 execution test
FAIL: libgomp.fortran/target8.f90 -O1 execution test
FAIL: libgomp.fortran/target8.f90 -O2 execution test
FAIL: libgomp.fortran/target8.f90 -O3 -fomit-frame-pointer execution test
FAIL: libgomp.fortran/target8.f90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: libgomp.fortran/target8.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: libgomp.fortran/target8.f90 -O3 -g execution test
FAIL: libgomp.fortran/target8.f90 -Os execution test
Modified:
branches/gomp-4_0-branch/libgomp/ChangeLog.gomp
branches/gomp-4_0-branch/libgomp/libgomp.h
branches/gomp-4_0-branch/libgomp/oacc-host.c
branches/gomp-4_0-branch/libgomp/oacc-init.c
branches/gomp-4_0-branch/libgomp/target.c
More information about the Gcc-cvs
mailing list