brintos

brintos / llvm-project-archived public Read only

0
0
Text · 30.9 KiB · d881a99 Raw
542 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<deps>' -polly-print-deps -disable-output < %s | FileCheck %s2 3;    void manyreductions(long *A) {4;      for (long i = 0; i < 1024; i++)5;        for (long j = 0; j < 1024; j++)6;          *A += 42;7;8;      for (long i = 0; i < 1024; i++)9;        for (long j = 0; j < 1024; j++)10;          *A += 42;11;12;      for (long i = 0; i < 1024; i++)13;        for (long j = 0; j < 1024; j++)14;          *A += 42;15;16;      for (long i = 0; i < 1024; i++)17;        for (long j = 0; j < 1024; j++)18;          *A += 42;19;20;      for (long i = 0; i < 1024; i++)21;        for (long j = 0; j < 1024; j++)22;          *A += 42;23;24;      for (long i = 0; i < 1024; i++)25;        for (long j = 0; j < 1024; j++)26;          *A += 42;27;28;      for (long i = 0; i < 1024; i++)29;        for (long j = 0; j < 1024; j++)30;          *A += 42;31;32;      for (long i = 0; i < 1024; i++)33;        for (long j = 0; j < 1024; j++)34;          *A += 42;35;36;      for (long i = 0; i < 1024; i++)37;        for (long j = 0; j < 1024; j++)38;          *A += 42;39;40;      for (long i = 0; i < 1024; i++)41;        for (long j = 0; j < 1024; j++)42;          *A += 42;43;44;      for (long i = 0; i < 1024; i++)45;        for (long j = 0; j < 1024; j++)46;          *A += 42;47;48;      for (long i = 0; i < 1024; i++)49;        for (long j = 0; j < 1024; j++)50;          *A += 42;51;52;      for (long i = 0; i < 1024; i++)53;        for (long j = 0; j < 1024; j++)54;          *A += 42;55;56;      for (long i = 0; i < 1024; i++)57;        for (long j = 0; j < 1024; j++)58;          *A += 42;59;    }60 61; CHECK: 	RAW dependences:62; CHECK-NEXT: 		{ Stmt_bb90[1023, 1023] -> Stmt_bb102[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb90[i0, i1] -> Stmt_bb102[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb90[1023, 1023] -> Stmt_bb102[0, 0]; Stmt_bb150[1023, 1023] -> Stmt_bb162[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb150[i0, i1] -> Stmt_bb162[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb150[1023, 1023] -> Stmt_bb162[0, 0]; Stmt_bb66[1023, 1023] -> Stmt_bb78[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb66[i0, i1] -> Stmt_bb78[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb66[1023, 1023] -> Stmt_bb78[0, 0]; Stmt_bb126[1023, 1023] -> Stmt_bb138[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb126[i0, i1] -> Stmt_bb138[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb126[1023, 1023] -> Stmt_bb138[0, 0]; Stmt_bb54[1023, 1023] -> Stmt_bb66[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb54[i0, i1] -> Stmt_bb66[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb54[1023, 1023] -> Stmt_bb66[0, 0]; Stmt_bb174[1023, 1023] -> Stmt_bb186[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb174[i0, i1] -> Stmt_bb186[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb174[1023, 1023] -> Stmt_bb186[0, 0]; Stmt_bb114[1023, 1023] -> Stmt_bb126[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb114[i0, i1] -> Stmt_bb126[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb114[1023, 1023] -> Stmt_bb126[0, 0]; Stmt_bb31[1023, 1023] -> Stmt_bb42[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb31[i0, i1] -> Stmt_bb42[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb31[1023, 1023] -> Stmt_bb42[0, 0]; Stmt_bb42[1023, 1023] -> Stmt_bb54[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb42[i0, i1] -> Stmt_bb54[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb42[1023, 1023] -> Stmt_bb54[0, 0]; Stmt_bb78[1023, 1023] -> Stmt_bb90[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb78[i0, i1] -> Stmt_bb90[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb78[1023, 1023] -> Stmt_bb90[0, 0]; Stmt_bb138[1023, 1023] -> Stmt_bb150[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb138[i0, i1] -> Stmt_bb150[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb138[1023, 1023] -> Stmt_bb150[0, 0]; Stmt_bb102[1023, 1023] -> Stmt_bb114[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb102[i0, i1] -> Stmt_bb114[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb102[1023, 1023] -> Stmt_bb114[0, 0]; Stmt_bb162[1023, 1023] -> Stmt_bb174[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb162[i0, i1] -> Stmt_bb174[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb162[1023, 1023] -> Stmt_bb174[0, 0] }63; CHECK-NEXT: 	WAR dependences:64; CHECK-NEXT:     { Stmt_bb90[1023, 1023] -> Stmt_bb102[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb90[i0, i1] -> Stmt_bb102[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb90[1023, 1023] -> Stmt_bb102[0, 0]; Stmt_bb150[1023, 1023] -> Stmt_bb162[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb150[i0, i1] -> Stmt_bb162[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb150[1023, 1023] -> Stmt_bb162[0, 0]; Stmt_bb66[1023, 1023] -> Stmt_bb78[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb66[i0, i1] -> Stmt_bb78[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb66[1023, 1023] -> Stmt_bb78[0, 0]; Stmt_bb126[1023, 1023] -> Stmt_bb138[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb126[i0, i1] -> Stmt_bb138[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb126[1023, 1023] -> Stmt_bb138[0, 0]; Stmt_bb54[1023, 1023] -> Stmt_bb66[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb54[i0, i1] -> Stmt_bb66[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb54[1023, 1023] -> Stmt_bb66[0, 0]; Stmt_bb174[1023, 1023] -> Stmt_bb186[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb174[i0, i1] -> Stmt_bb186[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb174[1023, 1023] -> Stmt_bb186[0, 0]; Stmt_bb114[1023, 1023] -> Stmt_bb126[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb114[i0, i1] -> Stmt_bb126[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb114[1023, 1023] -> Stmt_bb126[0, 0]; Stmt_bb31[1023, 1023] -> Stmt_bb42[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb31[i0, i1] -> Stmt_bb42[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb31[1023, 1023] -> Stmt_bb42[0, 0]; Stmt_bb42[1023, 1023] -> Stmt_bb54[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb42[i0, i1] -> Stmt_bb54[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb42[1023, 1023] -> Stmt_bb54[0, 0]; Stmt_bb78[1023, 1023] -> Stmt_bb90[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb78[i0, i1] -> Stmt_bb90[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb78[1023, 1023] -> Stmt_bb90[0, 0]; Stmt_bb138[1023, 1023] -> Stmt_bb150[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb138[i0, i1] -> Stmt_bb150[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb138[1023, 1023] -> Stmt_bb150[0, 0]; Stmt_bb102[1023, 1023] -> Stmt_bb114[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb102[i0, i1] -> Stmt_bb114[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb102[1023, 1023] -> Stmt_bb114[0, 0]; Stmt_bb162[1023, 1023] -> Stmt_bb174[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb162[i0, i1] -> Stmt_bb174[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb162[1023, 1023] -> Stmt_bb174[0, 0] }65; CHECK-NEXT: 	WAW dependences:66; CHECK-NEXT: 		{ Stmt_bb90[1023, 1023] -> Stmt_bb102[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb90[i0, i1] -> Stmt_bb102[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb90[1023, 1023] -> Stmt_bb102[0, 0]; Stmt_bb150[1023, 1023] -> Stmt_bb162[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb150[i0, i1] -> Stmt_bb162[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb150[1023, 1023] -> Stmt_bb162[0, 0]; Stmt_bb66[1023, 1023] -> Stmt_bb78[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb66[i0, i1] -> Stmt_bb78[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb66[1023, 1023] -> Stmt_bb78[0, 0]; Stmt_bb126[1023, 1023] -> Stmt_bb138[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb126[i0, i1] -> Stmt_bb138[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb126[1023, 1023] -> Stmt_bb138[0, 0]; Stmt_bb54[1023, 1023] -> Stmt_bb66[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb54[i0, i1] -> Stmt_bb66[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb54[1023, 1023] -> Stmt_bb66[0, 0]; Stmt_bb174[1023, 1023] -> Stmt_bb186[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb174[i0, i1] -> Stmt_bb186[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb174[1023, 1023] -> Stmt_bb186[0, 0]; Stmt_bb114[1023, 1023] -> Stmt_bb126[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb114[i0, i1] -> Stmt_bb126[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb114[1023, 1023] -> Stmt_bb126[0, 0]; Stmt_bb31[1023, 1023] -> Stmt_bb42[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb31[i0, i1] -> Stmt_bb42[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb31[1023, 1023] -> Stmt_bb42[0, 0]; Stmt_bb42[1023, 1023] -> Stmt_bb54[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb42[i0, i1] -> Stmt_bb54[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb42[1023, 1023] -> Stmt_bb54[0, 0]; Stmt_bb78[1023, 1023] -> Stmt_bb90[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb78[i0, i1] -> Stmt_bb90[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb78[1023, 1023] -> Stmt_bb90[0, 0]; Stmt_bb138[1023, 1023] -> Stmt_bb150[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb138[i0, i1] -> Stmt_bb150[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb138[1023, 1023] -> Stmt_bb150[0, 0]; Stmt_bb102[1023, 1023] -> Stmt_bb114[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb102[i0, i1] -> Stmt_bb114[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb102[1023, 1023] -> Stmt_bb114[0, 0]; Stmt_bb162[1023, 1023] -> Stmt_bb174[o0, o1] : o0 <= 1023 and o1 >= 0 and -1024o0 < o1 <= 1023; Stmt_bb162[i0, i1] -> Stmt_bb174[0, 0] : i0 >= 0 and 0 <= i1 <= 1048574 - 1024i0 and i1 <= 1023; Stmt_bb162[1023, 1023] -> Stmt_bb174[0, 0] }67; CHECK-NEXT: 	Reduction dependences:68; CHECK-NEXT: 		{ Stmt_bb162[i0, i1] -> Stmt_bb162[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb162[i0, 1023] -> Stmt_bb162[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb90[i0, i1] -> Stmt_bb90[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb90[i0, 1023] -> Stmt_bb90[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb150[i0, i1] -> Stmt_bb150[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb150[i0, 1023] -> Stmt_bb150[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb186[i0, i1] -> Stmt_bb186[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb186[i0, 1023] -> Stmt_bb186[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb66[i0, i1] -> Stmt_bb66[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb66[i0, 1023] -> Stmt_bb66[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb31[i0, i1] -> Stmt_bb31[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb31[i0, 1023] -> Stmt_bb31[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb102[i0, i1] -> Stmt_bb102[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb102[i0, 1023] -> Stmt_bb102[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb138[i0, i1] -> Stmt_bb138[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb138[i0, 1023] -> Stmt_bb138[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb54[i0, i1] -> Stmt_bb54[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb54[i0, 1023] -> Stmt_bb54[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb174[i0, i1] -> Stmt_bb174[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb174[i0, 1023] -> Stmt_bb174[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb78[i0, i1] -> Stmt_bb78[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb78[i0, 1023] -> Stmt_bb78[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb126[i0, i1] -> Stmt_bb126[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb126[i0, 1023] -> Stmt_bb126[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb114[i0, i1] -> Stmt_bb114[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb114[i0, 1023] -> Stmt_bb114[1 + i0, 0] : 0 <= i0 <= 1022; Stmt_bb42[i0, i1] -> Stmt_bb42[i0, 1 + i1] : 0 <= i0 <= 1023 and 0 <= i1 <= 1022; Stmt_bb42[i0, 1023] -> Stmt_bb42[1 + i0, 0] : 0 <= i0 <= 1022 }69 70; CHECK-NEXT: 	Transitive closure of reduction dependences:71; CHECK-NEXT:  { Stmt_bb162[i0, i1] -> Stmt_bb162[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb90[i0, i1] -> Stmt_bb90[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb150[i0, i1] -> Stmt_bb150[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb186[i0, i1] -> Stmt_bb186[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb66[i0, i1] -> Stmt_bb66[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb31[i0, i1] -> Stmt_bb31[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb102[i0, i1] -> Stmt_bb102[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb138[i0, i1] -> Stmt_bb138[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb54[i0, i1] -> Stmt_bb54[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb174[i0, i1] -> Stmt_bb174[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb78[i0, i1] -> Stmt_bb78[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb126[i0, i1] -> Stmt_bb126[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb114[i0, i1] -> Stmt_bb114[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)); Stmt_bb42[i0, i1] -> Stmt_bb42[o0, o1] : 0 <= i1 <= 1023 and 0 <= o1 <= 1023 and ((i0 >= 0 and o0 <= 1023 and o1 > 1024i0 + i1 - 1024o0) or (i0 <= 1023 and o0 >= 0 and o1 < 1024i0 + i1 - 1024o0)) }72 73;74target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"75 76define void @manyreductions(ptr %A) {77bb:78  br label %bb2879 80bb28:                                             ; preds = %bb36, %bb81  %i.0 = phi i64 [ 0, %bb ], [ %tmp37, %bb36 ]82  %exitcond27 = icmp ne i64 %i.0, 102483  br i1 %exitcond27, label %bb29, label %bb3884 85bb29:                                             ; preds = %bb2886  br label %bb3087 88bb30:                                             ; preds = %bb33, %bb2989  %j.0 = phi i64 [ 0, %bb29 ], [ %tmp34, %bb33 ]90  %exitcond26 = icmp ne i64 %j.0, 102491  br i1 %exitcond26, label %bb31, label %bb3592 93bb31:                                             ; preds = %bb3094  %tmp = load i64, ptr %A, align 895  %tmp32 = add nsw i64 %tmp, 4296  store i64 %tmp32, ptr %A, align 897  br label %bb3398 99bb33:                                             ; preds = %bb31100  %tmp34 = add nuw nsw i64 %j.0, 1101  br label %bb30102 103bb35:                                             ; preds = %bb30104  br label %bb36105 106bb36:                                             ; preds = %bb35107  %tmp37 = add nuw nsw i64 %i.0, 1108  br label %bb28109 110bb38:                                             ; preds = %bb28111  br label %bb39112 113bb39:                                             ; preds = %bb48, %bb38114  %i1.0 = phi i64 [ 0, %bb38 ], [ %tmp49, %bb48 ]115  %exitcond25 = icmp ne i64 %i1.0, 1024116  br i1 %exitcond25, label %bb40, label %bb50117 118bb40:                                             ; preds = %bb39119  br label %bb41120 121bb41:                                             ; preds = %bb45, %bb40122  %j2.0 = phi i64 [ 0, %bb40 ], [ %tmp46, %bb45 ]123  %exitcond24 = icmp ne i64 %j2.0, 1024124  br i1 %exitcond24, label %bb42, label %bb47125 126bb42:                                             ; preds = %bb41127  %tmp43 = load i64, ptr %A, align 8128  %tmp44 = add nsw i64 %tmp43, 42129  store i64 %tmp44, ptr %A, align 8130  br label %bb45131 132bb45:                                             ; preds = %bb42133  %tmp46 = add nuw nsw i64 %j2.0, 1134  br label %bb41135 136bb47:                                             ; preds = %bb41137  br label %bb48138 139bb48:                                             ; preds = %bb47140  %tmp49 = add nuw nsw i64 %i1.0, 1141  br label %bb39142 143bb50:                                             ; preds = %bb39144  br label %bb51145 146bb51:                                             ; preds = %bb60, %bb50147  %i3.0 = phi i64 [ 0, %bb50 ], [ %tmp61, %bb60 ]148  %exitcond23 = icmp ne i64 %i3.0, 1024149  br i1 %exitcond23, label %bb52, label %bb62150 151bb52:                                             ; preds = %bb51152  br label %bb53153 154bb53:                                             ; preds = %bb57, %bb52155  %j4.0 = phi i64 [ 0, %bb52 ], [ %tmp58, %bb57 ]156  %exitcond22 = icmp ne i64 %j4.0, 1024157  br i1 %exitcond22, label %bb54, label %bb59158 159bb54:                                             ; preds = %bb53160  %tmp55 = load i64, ptr %A, align 8161  %tmp56 = add nsw i64 %tmp55, 42162  store i64 %tmp56, ptr %A, align 8163  br label %bb57164 165bb57:                                             ; preds = %bb54166  %tmp58 = add nuw nsw i64 %j4.0, 1167  br label %bb53168 169bb59:                                             ; preds = %bb53170  br label %bb60171 172bb60:                                             ; preds = %bb59173  %tmp61 = add nuw nsw i64 %i3.0, 1174  br label %bb51175 176bb62:                                             ; preds = %bb51177  br label %bb63178 179bb63:                                             ; preds = %bb72, %bb62180  %i5.0 = phi i64 [ 0, %bb62 ], [ %tmp73, %bb72 ]181  %exitcond21 = icmp ne i64 %i5.0, 1024182  br i1 %exitcond21, label %bb64, label %bb74183 184bb64:                                             ; preds = %bb63185  br label %bb65186 187bb65:                                             ; preds = %bb69, %bb64188  %j6.0 = phi i64 [ 0, %bb64 ], [ %tmp70, %bb69 ]189  %exitcond20 = icmp ne i64 %j6.0, 1024190  br i1 %exitcond20, label %bb66, label %bb71191 192bb66:                                             ; preds = %bb65193  %tmp67 = load i64, ptr %A, align 8194  %tmp68 = add nsw i64 %tmp67, 42195  store i64 %tmp68, ptr %A, align 8196  br label %bb69197 198bb69:                                             ; preds = %bb66199  %tmp70 = add nuw nsw i64 %j6.0, 1200  br label %bb65201 202bb71:                                             ; preds = %bb65203  br label %bb72204 205bb72:                                             ; preds = %bb71206  %tmp73 = add nuw nsw i64 %i5.0, 1207  br label %bb63208 209bb74:                                             ; preds = %bb63210  br label %bb75211 212bb75:                                             ; preds = %bb84, %bb74213  %i7.0 = phi i64 [ 0, %bb74 ], [ %tmp85, %bb84 ]214  %exitcond19 = icmp ne i64 %i7.0, 1024215  br i1 %exitcond19, label %bb76, label %bb86216 217bb76:                                             ; preds = %bb75218  br label %bb77219 220bb77:                                             ; preds = %bb81, %bb76221  %j8.0 = phi i64 [ 0, %bb76 ], [ %tmp82, %bb81 ]222  %exitcond18 = icmp ne i64 %j8.0, 1024223  br i1 %exitcond18, label %bb78, label %bb83224 225bb78:                                             ; preds = %bb77226  %tmp79 = load i64, ptr %A, align 8227  %tmp80 = add nsw i64 %tmp79, 42228  store i64 %tmp80, ptr %A, align 8229  br label %bb81230 231bb81:                                             ; preds = %bb78232  %tmp82 = add nuw nsw i64 %j8.0, 1233  br label %bb77234 235bb83:                                             ; preds = %bb77236  br label %bb84237 238bb84:                                             ; preds = %bb83239  %tmp85 = add nuw nsw i64 %i7.0, 1240  br label %bb75241 242bb86:                                             ; preds = %bb75243  br label %bb87244 245bb87:                                             ; preds = %bb96, %bb86246  %i9.0 = phi i64 [ 0, %bb86 ], [ %tmp97, %bb96 ]247  %exitcond17 = icmp ne i64 %i9.0, 1024248  br i1 %exitcond17, label %bb88, label %bb98249 250bb88:                                             ; preds = %bb87251  br label %bb89252 253bb89:                                             ; preds = %bb93, %bb88254  %j10.0 = phi i64 [ 0, %bb88 ], [ %tmp94, %bb93 ]255  %exitcond16 = icmp ne i64 %j10.0, 1024256  br i1 %exitcond16, label %bb90, label %bb95257 258bb90:                                             ; preds = %bb89259  %tmp91 = load i64, ptr %A, align 8260  %tmp92 = add nsw i64 %tmp91, 42261  store i64 %tmp92, ptr %A, align 8262  br label %bb93263 264bb93:                                             ; preds = %bb90265  %tmp94 = add nuw nsw i64 %j10.0, 1266  br label %bb89267 268bb95:                                             ; preds = %bb89269  br label %bb96270 271bb96:                                             ; preds = %bb95272  %tmp97 = add nuw nsw i64 %i9.0, 1273  br label %bb87274 275bb98:                                             ; preds = %bb87276  br label %bb99277 278bb99:                                             ; preds = %bb108, %bb98279  %i11.0 = phi i64 [ 0, %bb98 ], [ %tmp109, %bb108 ]280  %exitcond15 = icmp ne i64 %i11.0, 1024281  br i1 %exitcond15, label %bb100, label %bb110282 283bb100:                                            ; preds = %bb99284  br label %bb101285 286bb101:                                            ; preds = %bb105, %bb100287  %j12.0 = phi i64 [ 0, %bb100 ], [ %tmp106, %bb105 ]288  %exitcond14 = icmp ne i64 %j12.0, 1024289  br i1 %exitcond14, label %bb102, label %bb107290 291bb102:                                            ; preds = %bb101292  %tmp103 = load i64, ptr %A, align 8293  %tmp104 = add nsw i64 %tmp103, 42294  store i64 %tmp104, ptr %A, align 8295  br label %bb105296 297bb105:                                            ; preds = %bb102298  %tmp106 = add nuw nsw i64 %j12.0, 1299  br label %bb101300 301bb107:                                            ; preds = %bb101302  br label %bb108303 304bb108:                                            ; preds = %bb107305  %tmp109 = add nuw nsw i64 %i11.0, 1306  br label %bb99307 308bb110:                                            ; preds = %bb99309  br label %bb111310 311bb111:                                            ; preds = %bb120, %bb110312  %i13.0 = phi i64 [ 0, %bb110 ], [ %tmp121, %bb120 ]313  %exitcond13 = icmp ne i64 %i13.0, 1024314  br i1 %exitcond13, label %bb112, label %bb122315 316bb112:                                            ; preds = %bb111317  br label %bb113318 319bb113:                                            ; preds = %bb117, %bb112320  %j14.0 = phi i64 [ 0, %bb112 ], [ %tmp118, %bb117 ]321  %exitcond12 = icmp ne i64 %j14.0, 1024322  br i1 %exitcond12, label %bb114, label %bb119323 324bb114:                                            ; preds = %bb113325  %tmp115 = load i64, ptr %A, align 8326  %tmp116 = add nsw i64 %tmp115, 42327  store i64 %tmp116, ptr %A, align 8328  br label %bb117329 330bb117:                                            ; preds = %bb114331  %tmp118 = add nuw nsw i64 %j14.0, 1332  br label %bb113333 334bb119:                                            ; preds = %bb113335  br label %bb120336 337bb120:                                            ; preds = %bb119338  %tmp121 = add nuw nsw i64 %i13.0, 1339  br label %bb111340 341bb122:                                            ; preds = %bb111342  br label %bb123343 344bb123:                                            ; preds = %bb132, %bb122345  %i15.0 = phi i64 [ 0, %bb122 ], [ %tmp133, %bb132 ]346  %exitcond11 = icmp ne i64 %i15.0, 1024347  br i1 %exitcond11, label %bb124, label %bb134348 349bb124:                                            ; preds = %bb123350  br label %bb125351 352bb125:                                            ; preds = %bb129, %bb124353  %j16.0 = phi i64 [ 0, %bb124 ], [ %tmp130, %bb129 ]354  %exitcond10 = icmp ne i64 %j16.0, 1024355  br i1 %exitcond10, label %bb126, label %bb131356 357bb126:                                            ; preds = %bb125358  %tmp127 = load i64, ptr %A, align 8359  %tmp128 = add nsw i64 %tmp127, 42360  store i64 %tmp128, ptr %A, align 8361  br label %bb129362 363bb129:                                            ; preds = %bb126364  %tmp130 = add nuw nsw i64 %j16.0, 1365  br label %bb125366 367bb131:                                            ; preds = %bb125368  br label %bb132369 370bb132:                                            ; preds = %bb131371  %tmp133 = add nuw nsw i64 %i15.0, 1372  br label %bb123373 374bb134:                                            ; preds = %bb123375  br label %bb135376 377bb135:                                            ; preds = %bb144, %bb134378  %i17.0 = phi i64 [ 0, %bb134 ], [ %tmp145, %bb144 ]379  %exitcond9 = icmp ne i64 %i17.0, 1024380  br i1 %exitcond9, label %bb136, label %bb146381 382bb136:                                            ; preds = %bb135383  br label %bb137384 385bb137:                                            ; preds = %bb141, %bb136386  %j18.0 = phi i64 [ 0, %bb136 ], [ %tmp142, %bb141 ]387  %exitcond8 = icmp ne i64 %j18.0, 1024388  br i1 %exitcond8, label %bb138, label %bb143389 390bb138:                                            ; preds = %bb137391  %tmp139 = load i64, ptr %A, align 8392  %tmp140 = add nsw i64 %tmp139, 42393  store i64 %tmp140, ptr %A, align 8394  br label %bb141395 396bb141:                                            ; preds = %bb138397  %tmp142 = add nuw nsw i64 %j18.0, 1398  br label %bb137399 400bb143:                                            ; preds = %bb137401  br label %bb144402 403bb144:                                            ; preds = %bb143404  %tmp145 = add nuw nsw i64 %i17.0, 1405  br label %bb135406 407bb146:                                            ; preds = %bb135408  br label %bb147409 410bb147:                                            ; preds = %bb156, %bb146411  %i19.0 = phi i64 [ 0, %bb146 ], [ %tmp157, %bb156 ]412  %exitcond7 = icmp ne i64 %i19.0, 1024413  br i1 %exitcond7, label %bb148, label %bb158414 415bb148:                                            ; preds = %bb147416  br label %bb149417 418bb149:                                            ; preds = %bb153, %bb148419  %j20.0 = phi i64 [ 0, %bb148 ], [ %tmp154, %bb153 ]420  %exitcond6 = icmp ne i64 %j20.0, 1024421  br i1 %exitcond6, label %bb150, label %bb155422 423bb150:                                            ; preds = %bb149424  %tmp151 = load i64, ptr %A, align 8425  %tmp152 = add nsw i64 %tmp151, 42426  store i64 %tmp152, ptr %A, align 8427  br label %bb153428 429bb153:                                            ; preds = %bb150430  %tmp154 = add nuw nsw i64 %j20.0, 1431  br label %bb149432 433bb155:                                            ; preds = %bb149434  br label %bb156435 436bb156:                                            ; preds = %bb155437  %tmp157 = add nuw nsw i64 %i19.0, 1438  br label %bb147439 440bb158:                                            ; preds = %bb147441  br label %bb159442 443bb159:                                            ; preds = %bb168, %bb158444  %i21.0 = phi i64 [ 0, %bb158 ], [ %tmp169, %bb168 ]445  %exitcond5 = icmp ne i64 %i21.0, 1024446  br i1 %exitcond5, label %bb160, label %bb170447 448bb160:                                            ; preds = %bb159449  br label %bb161450 451bb161:                                            ; preds = %bb165, %bb160452  %j22.0 = phi i64 [ 0, %bb160 ], [ %tmp166, %bb165 ]453  %exitcond4 = icmp ne i64 %j22.0, 1024454  br i1 %exitcond4, label %bb162, label %bb167455 456bb162:                                            ; preds = %bb161457  %tmp163 = load i64, ptr %A, align 8458  %tmp164 = add nsw i64 %tmp163, 42459  store i64 %tmp164, ptr %A, align 8460  br label %bb165461 462bb165:                                            ; preds = %bb162463  %tmp166 = add nuw nsw i64 %j22.0, 1464  br label %bb161465 466bb167:                                            ; preds = %bb161467  br label %bb168468 469bb168:                                            ; preds = %bb167470  %tmp169 = add nuw nsw i64 %i21.0, 1471  br label %bb159472 473bb170:                                            ; preds = %bb159474  br label %bb171475 476bb171:                                            ; preds = %bb180, %bb170477  %i23.0 = phi i64 [ 0, %bb170 ], [ %tmp181, %bb180 ]478  %exitcond3 = icmp ne i64 %i23.0, 1024479  br i1 %exitcond3, label %bb172, label %bb182480 481bb172:                                            ; preds = %bb171482  br label %bb173483 484bb173:                                            ; preds = %bb177, %bb172485  %j24.0 = phi i64 [ 0, %bb172 ], [ %tmp178, %bb177 ]486  %exitcond2 = icmp ne i64 %j24.0, 1024487  br i1 %exitcond2, label %bb174, label %bb179488 489bb174:                                            ; preds = %bb173490  %tmp175 = load i64, ptr %A, align 8491  %tmp176 = add nsw i64 %tmp175, 42492  store i64 %tmp176, ptr %A, align 8493  br label %bb177494 495bb177:                                            ; preds = %bb174496  %tmp178 = add nuw nsw i64 %j24.0, 1497  br label %bb173498 499bb179:                                            ; preds = %bb173500  br label %bb180501 502bb180:                                            ; preds = %bb179503  %tmp181 = add nuw nsw i64 %i23.0, 1504  br label %bb171505 506bb182:                                            ; preds = %bb171507  br label %bb183508 509bb183:                                            ; preds = %bb192, %bb182510  %i25.0 = phi i64 [ 0, %bb182 ], [ %tmp193, %bb192 ]511  %exitcond1 = icmp ne i64 %i25.0, 1024512  br i1 %exitcond1, label %bb184, label %bb194513 514bb184:                                            ; preds = %bb183515  br label %bb185516 517bb185:                                            ; preds = %bb189, %bb184518  %j26.0 = phi i64 [ 0, %bb184 ], [ %tmp190, %bb189 ]519  %exitcond = icmp ne i64 %j26.0, 1024520  br i1 %exitcond, label %bb186, label %bb191521 522bb186:                                            ; preds = %bb185523  %tmp187 = load i64, ptr %A, align 8524  %tmp188 = add nsw i64 %tmp187, 42525  store i64 %tmp188, ptr %A, align 8526  br label %bb189527 528bb189:                                            ; preds = %bb186529  %tmp190 = add nuw nsw i64 %j26.0, 1530  br label %bb185531 532bb191:                                            ; preds = %bb185533  br label %bb192534 535bb192:                                            ; preds = %bb191536  %tmp193 = add nuw nsw i64 %i25.0, 1537  br label %bb183538 539bb194:                                            ; preds = %bb183540  ret void541}542