forked from OSchip/llvm-project
30 lines
781 B
YAML
30 lines
781 B
YAML
# RUN: llc -o - %s -mtriple=aarch64 -run-pass branch-folder -verify-machineinstrs | FileCheck %s
|
|
# Check that BranchFolding pass is able to hoist a common instruction into a block with a single branch instruction.
|
|
name: func
|
|
tracksRegLiveness: true
|
|
body: |
|
|
bb.0:
|
|
; CHECK-LABEL: name: func
|
|
; CHECK-LABEL: bb.0:
|
|
; CHECK: $x0 = ADDXri $x0, 1, 0
|
|
; CHECK: CBZX $x1, %bb.2
|
|
liveins: $x0, $x1
|
|
CBZX $x1, %bb.2
|
|
|
|
bb.1:
|
|
; CHECK-LABEL: bb.1:
|
|
; CHECK-NOT: $x0 = ADDXri $x0, 1, 0
|
|
liveins: $x0
|
|
$x0 = ADDXri $x0, 1, 0
|
|
$x0 = ADDXri $x0, 2, 0
|
|
RET_ReallyLR implicit $x0
|
|
|
|
bb.2:
|
|
; CHECK-LABEL: bb.2:
|
|
; CHECK-NOT: $x0 = ADDXri $x0, 1, 0
|
|
liveins: $x0
|
|
$x0 = ADDXri $x0, 1, 0
|
|
$x0 = ADDXri $x0, 3, 0
|
|
RET_ReallyLR implicit $x0
|
|
...
|