xref: /llvm-project/llvm/test/tools/llvm-opt-report/Inputs/or.c (revision 52031b7e65fc333333b346f2ccb94b9f412cedf2)
1*52031b7eSHal Finkel void bar();
foo()2*52031b7eSHal Finkel void foo() { bar(); }
3*52031b7eSHal Finkel 
4*52031b7eSHal Finkel #include "or.h"
5*52031b7eSHal Finkel 
Test(int * res,int * c,int * d,int * p,int n)6*52031b7eSHal Finkel void Test(int *res, int *c, int *d, int *p, int n) {
7*52031b7eSHal Finkel   int i;
8*52031b7eSHal Finkel 
9*52031b7eSHal Finkel #pragma clang loop vectorize(assume_safety)
10*52031b7eSHal Finkel   for (i = 0; i < 1600; i++) {
11*52031b7eSHal Finkel     res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
12*52031b7eSHal Finkel   }
13*52031b7eSHal Finkel 
14*52031b7eSHal Finkel   for (i = 0; i < 16; i++) {
15*52031b7eSHal Finkel     res[i] = (p[i] == 0) ? res[i] : res[i] + d[i];
16*52031b7eSHal Finkel   }
17*52031b7eSHal Finkel 
18*52031b7eSHal Finkel   foo();
19*52031b7eSHal Finkel 
20*52031b7eSHal Finkel   foo(); bar(); foo();
21*52031b7eSHal Finkel }
22*52031b7eSHal Finkel 
23