Changeset View
Changeset View
Standalone View
Standalone View
polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
Show All 16 Lines | |||||
; applied during the schedule generation. It should be taken into the | ; applied during the schedule generation. It should be taken into the | ||||
; account during the pattern matching optimizations. | ; account during the pattern matching optimizations. | ||||
; for (i = 0; i < _PB_NI; i++) | ; for (i = 0; i < _PB_NI; i++) | ||||
; for (k = 0; k < _PB_NK; ++k) | ; for (k = 0; k < _PB_NK; ++k) | ||||
; for (j = 0; j < _PB_NJ; j++) | ; for (j = 0; j < _PB_NJ; j++) | ||||
; C[i][j] += A[i][k] * B[k][j]; | ; C[i][j] += A[i][k] * B[k][j]; | ||||
; | ; | ||||
; CHECK: The tensor contraction pattern was detected | ; CHECK: The tensor contraction pattern was detected | ||||
; CHECK: The matrix multiplication pattern was detected | |||||
; | ; | ||||
; PATTERN-MATCHING-OPTS: // 1st level tiling - Tiles | ; PATTERN-MATCHING-OPTS: // 1st level tiling - Tiles | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c1 = 0; c1 <= 3; c1 += 1) { | ; PATTERN-MATCHING-OPTS-NEXT: for (int c1 = 0; c1 <= 3; c1 += 1) { | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c3 = 256 * c1; c3 <= 256 * c1 + 255; c3 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c4 = 256 * c1; c4 <= 256 * c1 + 255; c4 += 1) | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c4 = 0; c4 <= 1023; c4 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c5 = 0; c5 <= 1023; c5 += 1) | ||||
; PATTERN-MATCHING-OPTS-NEXT: CopyStmt_0(0, c3, c4); | ; PATTERN-MATCHING-OPTS-NEXT: CopyStmt_0(0, c1, c4, c5); | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c2 = 0; c2 <= 10; c2 += 1) { | ; PATTERN-MATCHING-OPTS-NEXT: for (int c2 = 0; c2 <= 10; c2 += 1) { | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c6 = 96 * c2; c6 <= min(1023, 96 * c2 + 95); c6 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c6 = 96 * c2; c6 <= min(1023, 96 * c2 + 95); c6 += 1) | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c7 = 256 * c1; c7 <= 256 * c1 + 255; c7 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c7 = 256 * c1; c7 <= 256 * c1 + 255; c7 += 1) | ||||
; PATTERN-MATCHING-OPTS-NEXT: CopyStmt_1(0, c1, c2, c6, c7); | ; PATTERN-MATCHING-OPTS-NEXT: CopyStmt_1(0, c1, c2, c6, c7); | ||||
; PATTERN-MATCHING-OPTS-NEXT: // 1st level tiling - Points | ; PATTERN-MATCHING-OPTS-NEXT: // 1st level tiling - Points | ||||
; PATTERN-MATCHING-OPTS-NEXT: // Register tiling - Tiles | ; PATTERN-MATCHING-OPTS-NEXT: // Register tiling - Tiles | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c3 = 0; c3 <= 127; c3 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c3 = 0; c3 <= 127; c3 += 1) | ||||
; PATTERN-MATCHING-OPTS-NEXT: for (int c4 = 0; c4 <= min(23, -24 * c2 + 255); c4 += 1) | ; PATTERN-MATCHING-OPTS-NEXT: for (int c4 = 0; c4 <= min(23, -24 * c2 + 255); c4 += 1) | ||||
▲ Show 20 Lines • Show All 87 Lines • Show Last 20 Lines |