diff mbox

[PR46032] Handle BUILT_IN_GOMP_PARALLEL in ipa-pta

Message ID CAKdteOZ-8twtSvTjh2AK4=EE6N1FoOG=jXFuSD2hFJ0qAS5QGQ@mail.gmail.com
State New
Headers show

Commit Message

Christophe Lyon Dec. 1, 2015, 12:27 p.m. UTC
On 30 November 2015 at 18:55, Tom de Vries <Tom_deVries@mentor.com> wrote:
> On 30/11/15 17:48, Jakub Jelinek wrote:

>>

>> On Mon, Nov 30, 2015 at 05:36:25PM +0100, Tom de Vries wrote:

>>>

>>> +int

>>> +main (void)

>>> +{

>>> +  unsigned results[nEvents];

>>> +  unsigned pData[nEvents];

>>> +  unsigned coeff = 2;

>>> +

>>> +  init (&results[0], &pData[0]);

>>> +

>>> +#pragma omp parallel for

>>> +  for (int idx = 0; idx < (int)nEvents; idx++)

>>> +    results[idx] = coeff * pData[idx];

>>

>>

>> Could you please add another testcase, where you have say pData

>> and some other pointer that init sets to alias with pData, and verify

>> that such loop (would need to be say normal loop inside #pragma omp single

>> or master) is not vectorized?

>

>

> I've:

> - added a simpler (not vectorizer-based) version of the testcase as

>   pr46032-2.c, and

> - copied pr46032-2.c to pr46032-3.c and modified it such that two

>   pointers are aliasing

>

> Committed to trunk.

>


Hi,

I've committed the attached patch as obvious: it adds
dg-require-effective-target fopenmp to these new tests
so that they are skipped e.g. on arm bare-metal targets
(using newlib).

Note that pr46032.c has some failures:
FAIL:  gcc.dg/pr46032.c scan-tree-dump-times vect "note: vectorized 1 loop" 1
on arm-none-linux-gnueabi, on arm-none-linux-gnueabihf with -mfpu=vfp*,
and on armeb-none-linux-gnueabihf

I haven't looked at the details yet; see
http://people.linaro.org/~christophe.lyon/cross-validation/gcc/trunk/231076/report-build-info.html
for more information.

Thanks,

Christophe.

2015-12-01  Christophe Lyon  <christophe.lyon@linaro.org>

    * gcc.dg/pr46032.c: Add dg-require-effective-target fopenmp.
    * gcc.dg/pr46032-2.c: Likewise.
    * gcc.dg/pr46032-3.c: Likewise.


> Thanks,

> - Tom

>
diff mbox

Patch

Index: gcc/testsuite/gcc.dg/pr46032-2.c
===================================================================
--- gcc/testsuite/gcc.dg/pr46032-2.c	(revision 231108)
+++ gcc/testsuite/gcc.dg/pr46032-2.c	(working copy)
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+/* { dg-require-effective-target fopenmp } */
 /* { dg-options "-O2 -fopenmp -std=c99 -fipa-pta -fdump-tree-optimized" } */
 
 #define N 2
Index: gcc/testsuite/gcc.dg/pr46032-3.c
===================================================================
--- gcc/testsuite/gcc.dg/pr46032-3.c	(revision 231108)
+++ gcc/testsuite/gcc.dg/pr46032-3.c	(working copy)
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+/* { dg-require-effective-target fopenmp } */
 /* { dg-options "-O2 -fopenmp -std=c99 -fipa-pta -fdump-tree-optimized" } */
 
 #define N 2
Index: gcc/testsuite/gcc.dg/pr46032.c
===================================================================
--- gcc/testsuite/gcc.dg/pr46032.c	(revision 231108)
+++ gcc/testsuite/gcc.dg/pr46032.c	(working copy)
@@ -1,4 +1,5 @@ 
 /* { dg-do compile } */
+/* { dg-require-effective-target fopenmp } */
 /* { dg-options "-O2 -fopenmp -ftree-vectorize -std=c99 -fipa-pta -fdump-tree-vect-all" } */
 
 extern void abort (void);