Re: [OG10] Fortran: delinearize multi-dimensional array accesses
Hi Sandra, The attached patch implements delinearization of array accesses in the Fortran front end, something that has been discussed for a long time. Definitely - among others, this is the subject of PR 14741, which is by now quite historic. I've been asked to try to get this patch committed on the OG10 branch since it is blocking some further optimization work with Graphite for OpenACC kernels regions. I have a mainline version of this patch as well that I can send to anyone interested in trying it out, but TBH, I don't think this is ready for mainline yet. That would be indeed interesting. Could you post that to the list as well? The current status is that there are still two gfortran tests that are regressing (gfortran.dg/graphite/id-9.f and gfortran.dg/vect/fast-math-mgrid-resid.f), and while it's been confirmed that this helps with Graphite optimizations as intended, we haven't yet run any benchmarks to confirm that it doesn't make other things slower. It is probably too late; this could go in for the next stage 1. (It might, for instance, be appropriate to only delinearize when Graphite optimizations are also enabled.) Makes sense. Does the patch actually make loop interchange for matrix multiplication work (done with C for loops or Fortran DO loops), or is there additional work required? Regarding scalarized loops: We still to not collapse loops for subroutine foo(a) real, dimension(:,:), contiguous :: a a = 5. end subroutine foo so an extension to scalarized loops would be quite valuable. It would be interesting to see if subroutine foo(a,n,m) real, dimension(n,m) :: a do j=1,m do i=1,n a(i,j) = 5. end do end do end subroutine foo is collapsed to a single loop with the patch and Graphite. Best regards Thomas
[committed] libstdc++: Update link to Intel/GNU compatibility paper
Pushed. Gerald commit 9d426e4dbccf1548f2d11866fe18af04af4109de Author: Gerald Pfeifer Date: Sat Dec 26 00:27:23 2020 +0100 libstdc++: Update link to Intel/GNU compatibility paper libstdc++-v3: 2020-12-26 Gerald Pfeifer * doc/xml/manual/abi.xml: Update link to Intel's compatibility with GNU compilers document. * doc/html/manual/abi.html: Regenerate. diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index 8ed8de64b32..be5676d14f4 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -535,7 +535,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. Itanium C++ ABI . - https://software.intel.com/en-us/articles/intel-compilers-for-linux-compatibility-with-gnu-compilers"; target="_top"> + https://software.intel.com/content/www/us/en/develop/articles/intel-compilers-for-linux-compatibility-with-gnu-compilers.html"; target="_top"> Intel Compilers for Linux: Compatibility with GNU Compilers . diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index e9f3773186c..e48a536b54e 100644 --- a/libstdc++-v3/doc/xml/manual/abi.xml +++ b/libstdc++-v3/doc/xml/manual/abi.xml @@ -1143,7 +1143,7 @@ gcc test.c -g -O2 -L. -lone -ltwo /usr/lib/libstdc++.so.5 /usr/lib/libstdc++.so. http://www.w3.org/1999/xlink"; - xlink:href="https://software.intel.com/en-us/articles/intel-compilers-for-linux-compatibility-with-gnu-compilers";> + xlink:href="https://software.intel.com/content/www/us/en/develop/articles/intel-compilers-for-linux-compatibility-with-gnu-compilers.html";> Intel Compilers for Linux: Compatibility with GNU Compilers
Ping: [Patch, fortran] PR97694 - ICE with optional assumed rank class(*) argument (and PR97723)
Ping! On Sat, 12 Dec 2020 at 10:38, Paul Richard Thomas < paul.richard.tho...@gmail.com> wrote: > Fortran: Fix some select rank issues [PR97694 and 97723]. > > Hi All, > > Unlike select type, select rank selectors retain the allocatable > attribute. This is corrected by the chunk in check.c. Note the trailing > whitespace corrections. Resolution of select rank construct must be done in > the same way as select type and so the break has been added to ensure that > the block is resolved in resolve_select_rank. The final chunk prevents > segfaults for class associate variables that are optional dummies, since > these apparently are not adorned with the GFC_DECL_SAVED_DESCRIPTOR. > > Regtests OK on FC31/x86_64 - OK for master? > > Cheers > > Paul > > 2020-12-12 Paul Thomas > > gcc/fortran > PR fortran/97694 > PR fortran/97723 > * check.c (allocatable_check): Select rank temporaries are > permitted even though they are treated as associate variables. > * resolve.c (gfc_resolve_code): Break on select rank as well as > select type so that the block os resolved. > * trans-stmt.c (trans_associate_var): Class associate variables > that are optional dummies must use the backend_decl. > > gcc/testsuite/ > PR fortran/97694 > PR fortran/97723 > * gfortran.dg/select_rank_5.f90: New test. > > -- "If you can't explain it simply, you don't understand it well enough" - Albert Einstein
[PATCH] libcody: Fix build on hppa*-*-hpux11.11
The following patch fixes the compilation of libcody/resolver.cc on hppa*-*-hpux11.11. I believe fstatat was introduced in POSIX 2008. Okay? Regards, Dave Fix libcody build on hppa*-*-hpux11.11. libcody/ChangeLog: * resolver.cc: Only use fstatat when _POSIX_C_SOURCE >= 200809L. diff --git a/libcody/resolver.cc b/libcody/resolver.cc index b83880f341e..93997433f15 100644 --- a/libcody/resolver.cc +++ b/libcody/resolver.cc @@ -10,7 +10,9 @@ #include #include -#if (defined (__unix__) \ +#if ((defined (__unix__) \ + && defined _POSIX_C_SOURCE \ + && (_POSIX_C_SOURCE - 0) >= 200809L) \ || (defined (__Apple__) \ && defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101000))
Re: Ping: [Patch, fortran] PR97694 - ICE with optional assumed rank class(*) argument (and PR97723)
Hi Paul, Ping! OK. Thanks a lot! Best regards Thomas
[pushed] Objective-C++ : Fix up testcase EOF diagnostics.
Hi Some Objective-C++ testcases need modification in reponse to the solution to PR 96045. Tested on x86_64-darwin9, 16 and 19 pushed to master thanks Iain gcc/testsuite/ChangeLog: PR c++/96045 * obj-c++.dg/property/property-neg-6.mm: Adjust EOF diagnostic location. * obj-c++.dg/syntax-error-10.mm: Likewise. * obj-c++.dg/syntax-error-8.mm: Likewise. * obj-c++.dg/syntax-error-9.mm: Likewise. --- gcc/testsuite/obj-c++.dg/property/property-neg-6.mm | 2 +- gcc/testsuite/obj-c++.dg/syntax-error-10.mm | 2 +- gcc/testsuite/obj-c++.dg/syntax-error-8.mm | 2 +- gcc/testsuite/obj-c++.dg/syntax-error-9.mm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/obj-c++.dg/property/property-neg-6.mm b/gcc/testsuite/obj-c++.dg/property/property-neg-6.mm index 1db6f0ba1b8..c4a22eb6d20 100644 --- a/gcc/testsuite/obj-c++.dg/property/property-neg-6.mm +++ b/gcc/testsuite/obj-c++.dg/property/property-neg-6.mm @@ -6,4 +6,4 @@ int iVar; } @property int FooBar /* { dg-error "expected ';' at end of input" } */ -/* { dg-error "-:expected '@end' at end of input" "" { target *-*-* } .+1 } */ +/* { dg-error "expected '@end' at end of input" "" { target *-*-* } .-1 } */ diff --git a/gcc/testsuite/obj-c++.dg/syntax-error-10.mm b/gcc/testsuite/obj-c++.dg/syntax-error-10.mm index 6fcf96f769e..f8e0c50b146 100644 --- a/gcc/testsuite/obj-c++.dg/syntax-error-10.mm +++ b/gcc/testsuite/obj-c++.dg/syntax-error-10.mm @@ -1,2 +1,2 @@ @interface -/* { dg-error "-:expected identifier" "" { target *-*-* } .+1 } */ +/* { dg-error "expected identifier" "" { target *-*-* } .-1 } */ diff --git a/gcc/testsuite/obj-c++.dg/syntax-error-8.mm b/gcc/testsuite/obj-c++.dg/syntax-error-8.mm index f7cfe0e0895..c13303fb775 100644 --- a/gcc/testsuite/obj-c++.dg/syntax-error-8.mm +++ b/gcc/testsuite/obj-c++.dg/syntax-error-8.mm @@ -1 +1 @@ -@interface A /* { dg-error "-:expected ..end." "" { target *-*-* } .+1 } */ +@interface A /* { dg-error "expected ..end." "" { target *-*-* } .-1 } */ diff --git a/gcc/testsuite/obj-c++.dg/syntax-error-9.mm b/gcc/testsuite/obj-c++.dg/syntax-error-9.mm index ad8837c28af..e1f8bd17550 100644 --- a/gcc/testsuite/obj-c++.dg/syntax-error-9.mm +++ b/gcc/testsuite/obj-c++.dg/syntax-error-9.mm @@ -1,4 +1,4 @@ // { dg-additional-options "-Wno-objc-root-class" } @implementation SaturnDoc /* { dg-warning "cannot find interface declaration" } */ - read: (void*)aStream ggg /* { dg-error "expected .:. at end of input" } */ -/* { dg-error "-:expected ..*. at end of input" "" { target *-*-* } .+1 } */ +/* { dg-error "expected ..*. at end of input" "" { target *-*-* } .-1 } */ -- 2.24.1