]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gfortran.dg/gomp/depend-4.f90: minor fix + dump update
authorTobias Burnus <tobias@codesourcery.com>
Tue, 23 Aug 2022 11:11:16 +0000 (13:11 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Tue, 23 Aug 2022 11:11:16 +0000 (13:11 +0200)
Contains the minor fix of upstream commit
r13-2151-g6b2a584ed5bed1b851ee7b4668ac705f20cbb2c4
to avoid setting the same array element twice.

Additionally, it updates the expected tree dumps due to differences
between GCC 12/OG12 and mainline (GCC13); the latter seems to
use a restricted pointer of type '&a[1]' while OG12 has pointerplus
expressions like 'a + 4'.

The changes include -m32/-m64 handling for the depobj var and in
two cases, the expected count increases from 1 to 2 for code like
'D.\[0-9\]+ = daa'.

gcc/testsuite/

* gfortran.dg/gomp/depend-4.f90: Update expected tree dumps.

gcc/testsuite/ChangeLog.omp
gcc/testsuite/gfortran.dg/gomp/depend-4.f90

index 88d67a987715094ea71276e927d9247e4c7dbc88..a2029337af1aff616e52aa7f9f83dffbd229a699 100644 (file)
@@ -1,3 +1,7 @@
+2022-08-23  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gfortran.dg/gomp/depend-4.f90: Update expected tree dumps.
+
 2022-08-23  Tobias Burnus  <tobias@codesourcery.com>
 
        Backport from mainline:
index f6cf2fd2dd475a4cb9d875e6dce534234d5b5b01..17af6cf9f3b21e7d7ef84e33dee626662e4fd177 100644 (file)
@@ -52,7 +52,7 @@ subroutine foo(dss, dsp, dsa, daa, daaa, daap, doss, dosp, dosa, doaa, doaaa, do
   !$omp depobj(elem(4)) depend(in: daa(2))
   !$omp depobj(elem(5)) depend(in: daaa(2))
   !$omp depobj(elem(6)) depend(in: daap(2))
-  !$omp depobj(elem(6)) depend(in: doaa(2))
+  !$omp depobj(elem(7)) depend(in: doaa(2))
   !$omp depobj(elem(8)) depend(in: doaaa(2))
   !$omp depobj(elem(9)) depend(in: doaap(2))
 
@@ -172,36 +172,36 @@ end
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:depvar\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(in:depvar\\)" 1 "original" } }
 
-! { dg-final { scan-tree-dump-times "&object\\\[0\\\] = &ss;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[1\\\] = sp;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[2\\\] = sa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[3\\\] = &aa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[4\\\] = .integer.kind=4.\\\[0:\\\] \\* restrict\\) aaa.data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[5\\\] = .integer.kind=4.\\\[0:\\\] \\*\\) aap.data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[6\\\] = dss;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[7\\\] = \\*dsp;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[8\\\] = \\*dsa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[9\\\] = daa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[10\\\] = .integer.kind=4.\\\[0:\\\] \\* restrict\\) daaa->data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[11\\\] = .integer.kind=4.\\\[0:\\\] \\*\\) daap->data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[12\\\] = doss;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[13\\\] = \\*dosp;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[14\\\] = \\*dosa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[15\\\] = doaa;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[16\\\] = .integer.kind=4.\\\[0:\\\] \\* restrict\\) doaaa->data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[17\\\] = .integer.kind=4.\\\[0:\\\] \\*\\) doaap->data;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[18\\\] = &dssv;" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&object\\\[19\\\] = &dossv;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object = &ss;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:8|16)\\) = sp;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:16|32)\\) = sa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:24|48)\\) = &aa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:32|64)\\) = .integer.kind=4.\\\[0:\\\] \\* restrict\\) aaa.data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:40|80)\\) = .integer.kind=4.\\\[0:\\\] \\*\\) aap.data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:48|96)\\) = dss;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:56|112)\\) = \\*dsp;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:64|128)\\) = \\*dsa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:72|144)\\) = daa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:80|160)\\) = .integer.kind=4.\\\[0:\\\] \\* restrict\\) daaa->data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:88|176)\\) = .integer.kind=4.\\\[0:\\\] \\*\\) daap->data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:96|192)\\) = doss;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:104|208)\\) = \\*dosp;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:112|224)\\) = \\*dosa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:120|240)\\) = doaa;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:128|256)\\) = .integer.kind=4.\\\[0:\\\] \\* restrict\\) doaaa->data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:136|272)\\) = .integer.kind=4.\\\[0:\\\] \\*\\) doaap->data;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:144|288)\\) = &dssv;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&object \\+ (?:152|304)\\) = &dossv;" 1 "original" } }
 
-! { dg-final { scan-tree-dump-times "&elem\\\[0\\\] = &aa\\\[1\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[1\\\] = &\\(\\*\\(integer.kind=4.\\\[0:\\\] \\* restrict\\) aaa.data\\)\\\[aaa.offset \\+ 2\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[2\\\] = \\(integer.kind=4. \\*\\) \\(aap.data \\+ .sizetype. \\(\\(aap.offset \\+ aap.dim\\\[0\\\].stride \\* 2\\) \\* aap.span\\)\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[3\\\] = &\\(\\*daa\\)\\\[1\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[4\\\] = &\\(\\*\\(integer.kind=4.\\\[0:\\\] \\* restrict\\) daaa->data\\)\\\[daaa->offset \\+ 2\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[5\\\] = \\(integer.kind=4. \\*\\) \\(daap->data \\+ .sizetype. \\(\\(daap->offset \\+ daap->dim\\\[0\\\].stride \\* 2\\) \\* daap->span\\)\\);" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[5\\\] = &\\(\\*doaa\\)\\\[1\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[7\\\] = &\\(\\*\\(integer.kind=4.\\\[0:\\\] \\* restrict\\) doaaa->data\\)\\\[doaaa->offset \\+ 2\\\];" 1 "original" } }
-! { dg-final { scan-tree-dump-times "&elem\\\[8\\\] = \\(integer.kind=4. \\*\\) \\(doaap->data \\+ .sizetype. \\(\\(doaap->offset \\+ doaap->dim\\\[0\\\].stride \\* 2\\) \\* doaap->span\\)\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem = \\(integer.kind=4. \\*\\) &aa \\+ 4;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:8|16)\\) = \\(integer.kind=4. \\*\\) aaa.data \\+ \\(sizetype\\) \\(\\(aaa.offset \\+ 2\\) \\* 4\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:16|32)\\) = \\(integer.kind=4. \\*\\) \\(aap.data \\+ .sizetype. \\(\\(aap.offset \\+ aap.dim\\\[0\\\].stride \\* 2\\) \\* aap.span\\)\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:24|48)\\) = \\(integer.kind=4. \\*\\) daa \\+ 4;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:32|64)\\) = \\(integer.kind=4. \\*\\) daaa->data \\+ \\(sizetype\\) \\(\\(daaa->offset \\+ 2\\) \\* 4\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:40|80)\\) = \\(integer.kind=4. \\*\\) \\(daap->data \\+ .sizetype. \\(\\(daap->offset \\+ daap->dim\\\[0\\\].stride \\* 2\\) \\* daap->span\\)\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:48|96)\\) = \\(integer.kind=4. \\*\\) doaa \\+ 4;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:56|112)\\) = \\(integer.kind=4. \\*\\) doaaa->data \\+ \\(sizetype\\) \\(\\(doaaa->offset \\+ 2\\) \\* 4\\);" 1 "original" } }
+! { dg-final { scan-tree-dump-times "&elem \\+ (?:64|128)\\) = \\(integer.kind=4. \\*\\) \\(doaap->data \\+ .sizetype. \\(\\(doaap->offset \\+ doaap->dim\\\[0\\\].stride \\* 2\\) \\* doaap->span\\)\\);" 1 "original" } }
 
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:ss\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*sp\\)" 1 "original" } }
@@ -222,13 +222,15 @@ end
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) doaaa->data\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\*\\) doaap->data\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:aa\\\[1\\\]\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\(\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) aaa.data\\)\\\[aaa.offset \\+ 2\\\]\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(\\(integer\\(kind=4\\) \\*\\) aaa.data \\+ \\(sizetype\\) \\(\\(aaa.offset \\+ 2\\) \\* 4\\)\\)\\)" 1 "original" } }
+
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(integer\\(kind=4\\) \\*\\) \\(aap.data \\+ \\(sizetype\\) \\(\\(aap.offset \\+ aap.dim\\\[0\\\].stride \\* 2\\) \\* aap.span\\)\\)\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\(\\*daa\\)\\\[1\\\]\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\(\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) daaa->data\\)\\\[daaa->offset \\+ 2\\\]\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(\\(integer\\(kind=4\\) \\*\\) daa \\+ 4\\)\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(\\(integer\\(kind=4\\) \\*\\) daaa->data \\+ \\(sizetype\\) \\(\\(daaa->offset \\+ 2\\) \\* 4\\)\\)\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(integer\\(kind=4\\) \\*\\) \\(daap->data \\+ \\(sizetype\\) \\(\\(daap->offset \\+ daap->dim\\\[0\\\].stride \\* 2\\) \\* daap->span\\)\\)\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\(\\*doaa\\)\\\[1\\\]\\)" 1 "original" } }
-! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\(\\*\\(integer\\(kind=4\\)\\\[0:\\\] \\* restrict\\) doaaa->data\\)\\\[doaaa->offset \\+ 2\\\]\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(\\(integer\\(kind=4\\) \\*\\) doaa \\+ 4\\)\\)" 1 "original" } }
+! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(\\(integer\\(kind=4\\) \\*\\) doaaa->data \\+ \\(sizetype\\) \\(\\(doaaa->offset \\+ 2\\) \\* 4\\)\\)\\)" 1 "original" } }
+
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:\\*\\(integer\\(kind=4\\) \\*\\) \\(doaap->data \\+ \\(sizetype\\) \\(\\(doaap->offset \\+ doaap->dim\\\[0\\\].stride \\* 2\\) \\* doaap->span\\)\\)\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:dossv\\)" 1 "original" } }
 ! { dg-final { scan-tree-dump-times "#pragma omp task depend\\(out:dssv\\)" 1 "original" } }
@@ -253,8 +255,8 @@ end
 ! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = \\*dosa;" 3 "gimple" } }
 ! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = doaaa->data;" 4 "gimple" } }
 ! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = doaap->data;" 4 "gimple" } }
-! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = &\\(\\*daa\\)\\\[1\\\];" 1 "gimple" } }
-! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = &\\(\\*doaa\\)\\\[1\\\];" 1 "gimple" } }
+! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = daa \\+ 4;" 2 "gimple" } }
+! { dg-final { scan-tree-dump-times "D.\[0-9\]+ = doaa \\+ 4;" 2 "gimple" } }
 ! { dg-final { scan-tree-dump-times "= &dssv;" 1 "gimple" } }
 ! { dg-final { scan-tree-dump-times "= &dossv;" 1 "gimple" } }