e0ca27c531
2015-11-30 Tom de Vries <tom@codesourcery.com> PR tree-optimization/46032 * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function, factored out of ... (find_func_aliases_for_call): ... here. (find_func_aliases_for_builtin_call, find_func_clobbers): Handle BUILT_IN_GOMP_PARALLEL. (ipa_pta_execute): Same. Handle node->parallelized_function as a local function. * gcc.dg/pr46032.c: New test. * testsuite/libgomp.c/pr46032.c: New test. From-SVN: r231076
45 lines
851 B
C
45 lines
851 B
C
/* { dg-do run } */
|
|
/* { dg-options "-O2 -ftree-vectorize -std=c99 -fipa-pta" } */
|
|
|
|
|
|
extern void abort (void);
|
|
|
|
#define nEvents 1000
|
|
|
|
static void __attribute__((noinline, noclone, optimize("-fno-tree-vectorize")))
|
|
init (unsigned *results, unsigned *pData)
|
|
{
|
|
unsigned int i;
|
|
for (i = 0; i < nEvents; ++i)
|
|
pData[i] = i % 3;
|
|
}
|
|
|
|
static void __attribute__((noinline, noclone, optimize("-fno-tree-vectorize")))
|
|
check (unsigned *results)
|
|
{
|
|
unsigned sum = 0;
|
|
for (int idx = 0; idx < (int)nEvents; idx++)
|
|
sum += results[idx];
|
|
|
|
if (sum != 1998)
|
|
abort ();
|
|
}
|
|
|
|
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];
|
|
|
|
check (&results[0]);
|
|
|
|
return 0;
|
|
}
|