Hi Thomas,
was a bit on the backburner but I now digged again.
See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94848
The problem is a generated static array variable in the
device function:
static integer(kind=4) A.12[3] = {1, 2, 3};
used as
_26 = A.12[S.13_67];
With -ftree-pre, the expressions using _26 now directly use
the value (1, 2 and 3). It seems as if the variable A.12 is
eliminated before writing to LTO but the usage (A.12[S.…])
is not – at least it still appears in the device dumps.
Maybe it is also related to something else, but crucial is
the -ftree-pre on the host side; the optimization level on
the device lto1 side is irrelevant.
Cheers,
Tobias
On 4/29/20 12:00 PM, Thomas Schwinge wrote:
Hi Tobias!
Do you happen to have any update regarding this one:
On 2020-01-08T09:55:06+0100, Tobias Burnus <tob...@codesourcery.com> wrote:
On 1/8/20 9:33 AM, Thomas Schwinge wrote:
With 'dg-do run' added, on [...] x86_64-pc-linux-gnu with offloading I'm seeing:
| PASS: libgomp.fortran/use_device_ptr-optional-3.f90 -O0 (test for
excess errors)
| PASS: libgomp.fortran/use_device_ptr-optional-3.f90 -O0 execution test
| PASS: libgomp.fortran/use_device_ptr-optional-3.f90 -O1 (test for
excess errors)
| PASS: libgomp.fortran/use_device_ptr-optional-3.f90 -O1 execution test
| FAIL: libgomp.fortran/use_device_ptr-optional-3.f90 -O2 (test for
excess errors)
| UNRESOLVED: libgomp.fortran/use_device_ptr-optional-3.f90 -O2
compilation failed to produce executable
| FAIL: libgomp.fortran/use_device_ptr-optional-3.f90 -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions
(test for excess errors)
| UNRESOLVED: libgomp.fortran/use_device_ptr-optional-3.f90 -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions
compilation failed to produce executable
| FAIL: libgomp.fortran/use_device_ptr-optional-3.f90 -O3 -g (test for
excess errors)
| UNRESOLVED: libgomp.fortran/use_device_ptr-optional-3.f90 -O3 -g
compilation failed to produce executable
| FAIL: libgomp.fortran/use_device_ptr-optional-3.f90 -Os (test for
excess errors)
| UNRESOLVED: libgomp.fortran/use_device_ptr-optional-3.f90 -Os
compilation failed to produce executable
... due to:
/tmp/cciVc43I.o:(.gnu.offload_vars+0x10): undefined reference to
`A.12.4064'
which may be something like PR90779, PR85063, PR84592, PR90779,
PR80411, PR71536 -- or something else.
Hmm. It is surely among the listed items, if all fails in the last item.
Note that PR85063 is fixed and PR84592 a duplicate of PR90779 (which is
listed twice). To through in another number it could also be a variant
of PR 92029 to though in yet another number …
Grüße
Thomas
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander
Walter
-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander
Walter