152031b7eSHal FinkelRUN: llvm-opt-report -r %p %p/Inputs/or.yaml | FileCheck -strict-whitespace %s 252031b7eSHal FinkelRUN: llvm-opt-report -s -r %p %p/Inputs/or.yaml | FileCheck -strict-whitespace -check-prefix=CHECK-SUCCINCT %s 352031b7eSHal Finkel 45d0fbbbcSHal Finkel; CHECK: < {{.*[/\]}}or.c 5*47faf3beSHal Finkel; CHECK-NEXT: 1 | void bar(); 6*47faf3beSHal Finkel; CHECK-NEXT: 2 | void foo() { bar(); } 7*47faf3beSHal Finkel; CHECK-NEXT: 3 | 8*47faf3beSHal Finkel; CHECK-NEXT: 4 | #include "or.h" 9*47faf3beSHal Finkel; CHECK-NEXT: 5 | 10*47faf3beSHal Finkel; CHECK-NEXT: 6 | void Test(int *res, int *c, int *d, int *p, int n) { 11*47faf3beSHal Finkel; CHECK-NEXT: 7 | int i; 12*47faf3beSHal Finkel; CHECK-NEXT: 8 | 13*47faf3beSHal Finkel; CHECK-NEXT: 9 | #pragma clang loop vectorize(assume_safety) 14*47faf3beSHal Finkel; CHECK-NEXT: 10 V4,2 | for (i = 0; i < 1600; i++) { 1552031b7eSHal Finkel; CHECK-NEXT: 11 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 1652031b7eSHal Finkel; CHECK-NEXT: 12 | } 1752031b7eSHal Finkel; CHECK-NEXT: 13 | 18*47faf3beSHal Finkel; CHECK-NEXT: 14 U16 | for (i = 0; i < 16; i++) { 19*47faf3beSHal Finkel; CHECK-NEXT: 15 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 20*47faf3beSHal Finkel; CHECK-NEXT: 16 | } 21*47faf3beSHal Finkel; CHECK-NEXT: 17 | 22*47faf3beSHal Finkel; CHECK-NEXT: 18 I | foo(); 23*47faf3beSHal Finkel; CHECK-NEXT: 19 | 24*47faf3beSHal Finkel; CHECK-NEXT: 20 | foo(); bar(); foo(); 2552031b7eSHal Finkel; CHECK-NEXT: I | ^ 2652031b7eSHal Finkel; CHECK-NEXT: I | ^ 27*47faf3beSHal Finkel; CHECK-NEXT: 21 | } 28*47faf3beSHal Finkel; CHECK-NEXT: 22 | 29*47faf3beSHal Finkel 30*47faf3beSHal Finkel; CHECK: < {{.*[/\]}}or.h 31*47faf3beSHal Finkel; CHECK-NEXT: 1 | void TestH(int *res, int *c, int *d, int *p, int n) { 32*47faf3beSHal Finkel; CHECK-NEXT: 2 | int i; 33*47faf3beSHal Finkel; CHECK-NEXT: 3 | 34*47faf3beSHal Finkel; CHECK-NEXT: 4 | #pragma clang loop vectorize(assume_safety) 35*47faf3beSHal Finkel; CHECK-NEXT: 5 V4,2 | for (i = 0; i < 1600; i++) { 36*47faf3beSHal Finkel; CHECK-NEXT: 6 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 37*47faf3beSHal Finkel; CHECK-NEXT: 7 | } 38*47faf3beSHal Finkel; CHECK-NEXT: 8 | 39*47faf3beSHal Finkel; CHECK-NEXT: 9 U16 | for (i = 0; i < 16; i++) { 40*47faf3beSHal Finkel; CHECK-NEXT: 10 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 41*47faf3beSHal Finkel; CHECK-NEXT: 11 | } 42*47faf3beSHal Finkel; CHECK-NEXT: 12 | 43*47faf3beSHal Finkel; CHECK-NEXT: 13 I | foo(); 44*47faf3beSHal Finkel; CHECK-NEXT: 14 | 45*47faf3beSHal Finkel; CHECK-NEXT: 15 | foo(); bar(); foo(); 46*47faf3beSHal Finkel; CHECK-NEXT: I | ^ 47*47faf3beSHal Finkel; CHECK-NEXT: I | ^ 48*47faf3beSHal Finkel; CHECK-NEXT: 16 | } 49*47faf3beSHal Finkel; CHECK-NEXT: 17 | 5052031b7eSHal Finkel 515d0fbbbcSHal Finkel; CHECK-SUCCINCT: < {{.*[/\]}}or.c 52*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 1 | void bar(); 53*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 2 | void foo() { bar(); } 54*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 3 | 55*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 4 | #include "or.h" 56*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 5 | 57*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 6 | void Test(int *res, int *c, int *d, int *p, int n) { 58*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 7 | int i; 59*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 8 | 60*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 9 | #pragma clang loop vectorize(assume_safety) 61*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 10 V | for (i = 0; i < 1600; i++) { 62*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 11 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 63*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 12 | } 64*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 13 | 65*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 14 U | for (i = 0; i < 16; i++) { 66*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 15 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 67*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 16 | } 68*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 17 | 69*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 18 I | foo(); 70*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 19 | 71*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 20 | foo(); bar(); foo(); 72*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: I | ^ 73*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: I | ^ 74*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 21 | } 75*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 22 | 7652031b7eSHal Finkel 775d0fbbbcSHal FinkelCHECK-SUCCINCT: < {{.*[/\]}}or.h 78*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 1 | void TestH(int *res, int *c, int *d, int *p, int n) { 79*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 2 | int i; 80*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 3 | 81*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 4 | #pragma clang loop vectorize(assume_safety) 82*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 5 V | for (i = 0; i < 1600; i++) { 83*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 6 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 84*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 7 | } 85*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 8 | 86*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 9 U | for (i = 0; i < 16; i++) { 87*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 10 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 88*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 11 | } 89*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 12 | 90*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 13 I | foo(); 91*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 14 | 92*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 15 | foo(); bar(); foo(); 93*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: I | ^ 94*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: I | ^ 95*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 16 | } 96*47faf3beSHal Finkel; CHECK-SUCCINCT-NEXT: 17 | 9752031b7eSHal Finkel 98