brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · e6d8685 Raw
110 lines · plain
1# RUN: llc --verify-machineinstrs -mtriple=aarch64 -o - %s -run-pass pipeliner -aarch64-enable-pipeliner -debug-only=pipeliner 2>&1 | FileCheck %s2# REQUIRES: asserts3 4# unacceptable loops by pipeliner5 6...7---8name:            func19tracksRegLiveness: true10body:             |11  ; multiple counter increment instructions12  ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop13  bb.0.entry:14    liveins: $x0, $x115    %10:gpr64 = COPY $x016    %11:gpr64 = COPY $x117 18  bb.1:19    %12:gpr64 = PHI %11, %bb.0, %13, %bb.120    %13:gpr64 = ADDXrr %12, %1121    %14:gpr64 = ADDXrr %13, %1122    dead $xzr = SUBSXrr %10, %14, implicit-def $nzcv23    Bcc 1, %bb.1, implicit $nzcv24    B %bb.225 26  bb.2:27...28---29name:            func230tracksRegLiveness: true31body:             |32  ; neither operand of the increment instruction is a loop invariant value33  ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop34  bb.0.entry:35    liveins: $x0, $x136    %10:gpr64 = COPY $x037    %11:gpr64 = COPY $x138 39  bb.1:40    %12:gpr64 = PHI %11, %bb.0, %13, %bb.141    %13:gpr64 = ADDXrr %12, %1242    dead $xzr = SUBSXrr %10, %13, implicit-def $nzcv43    Bcc 1, %bb.1, implicit $nzcv44    B %bb.245 46  bb.2:47...48---49name:            func350tracksRegLiveness: true51body:             |52  ; neither operand of the compare instruction is a loop invariant value53  ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop54  bb.0.entry:55    liveins: $x0, $x156    %10:gpr64 = COPY $x057    %11:gpr64 = COPY $x158 59  bb.1:60    %12:gpr64 = PHI %11, %bb.0, %13, %bb.161    %13:gpr64 = ADDXrr %12, %1162    dead $xzr = SUBSXrr %13, %13, implicit-def $nzcv63    Bcc 1, %bb.1, implicit $nzcv64    B %bb.265 66  bb.2:67...68---69name:            func470tracksRegLiveness: true71body:             |72  ; multiple phi instructions73  ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop74  bb.0.entry:75    liveins: $x0, $x176    %10:gpr64 = COPY $x077    %11:gpr64 = COPY $x178 79  bb.1:80    %12:gpr64 = PHI %11, %bb.0, %13, %bb.181    %14:gpr64 = PHI %11, %bb.0, %15, %bb.182    dead $xzr = SUBSXrr %12, %10, implicit-def $nzcv83    %13:gpr64 = ADDXrr %14, %1184    %15:gpr64 = ADDXrr %12, %1185    Bcc 1, %bb.1, implicit $nzcv86    B %bb.287 88  bb.2:89...90---91name:            func592tracksRegLiveness: true93body:             |94  ; not an increment instruction95  ; CHECK: Unable to analyzeLoop, can NOT pipeline Loop96  bb.0.entry:97    liveins: $x0, $x198    %10:gpr64 = COPY $x099    %11:gpr64 = COPY $x1100 101  bb.1:102    %12:gpr64 = PHI %11, %bb.0, %13, %bb.1103    %13:gpr64 = ORRXrr %12, %12104    dead $xzr = SUBSXrr %12, %10, implicit-def $nzcv105    Bcc 1, %bb.1, implicit $nzcv106    B %bb.2107 108  bb.2:109...110