mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-16 23:16:35 +00:00

Set the default processor version to v68 when the user does not specify one in the command line. This includes changes in the LLVM backed and linker (lld). Since lld normally sets the version based on inputs, this change will only affect cases when there are no inputs. Fixes #127558
88 lines
2.1 KiB
YAML
88 lines
2.1 KiB
YAML
# RUN: llc -mtriple=hexagon -run-pass branch-folder %s -o - -verify-machineinstrs | FileCheck %s
|
|
|
|
# Branch folding will perform tail merging of bb.1 and bb.2, and bb.2 will
|
|
# become the common tail. The use of R0 in bb.2 is <undef> while the
|
|
# corresponding use in bb.1 is not. The common tail will have the <undef>
|
|
# flag removed, which will cause R0 to become a live-in to bb.2. The problem
|
|
# is that R0 is not live-out from all predecessors of bb.2, namely is not
|
|
# live-out from bb.0. To remedy that, the branch folder should add an
|
|
# IMPLICIT_DEF to that block.
|
|
|
|
# CHECK-LABEL: name: func0
|
|
# CHECK-LABEL: bb.0:
|
|
# CHECK: $r0 = IMPLICIT_DEF
|
|
# CHECK-LABEL: bb.1:
|
|
# CHECK-LABEL: bb.2:
|
|
# CHECK: liveins: $r0
|
|
# CHECK: PS_storerhabs 0, $r0
|
|
# CHECK: PS_jmpret
|
|
|
|
---
|
|
name: func0
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
bb.0:
|
|
liveins: $r31
|
|
successors: %bb.1, %bb.2
|
|
J2_jumpt undef $p0, %bb.2, implicit-def $pc
|
|
J2_jump %bb.1, implicit-def $pc
|
|
|
|
bb.1:
|
|
liveins: $r31
|
|
successors: %bb.3
|
|
$r0 = L2_loadruh_io undef $r1, 0
|
|
PS_storerhabs 0, killed $r0
|
|
J2_jump %bb.3, implicit-def $pc
|
|
|
|
bb.2:
|
|
liveins: $r31
|
|
successors: %bb.3
|
|
PS_storerhabs 0, undef $r0
|
|
J2_jump %bb.3, implicit-def $pc
|
|
|
|
bb.3:
|
|
liveins: $r31
|
|
PS_jmpret killed $r31, implicit-def $pc
|
|
...
|
|
---
|
|
# CHECK-LABEL: name: func1
|
|
# CHECK-LABEL: bb.1:
|
|
# CHECK: $r0 = IMPLICIT_DEF
|
|
# CHECK-LABEL: bb.2:
|
|
# CHECK-LABEL: bb.3:
|
|
# CHECK: liveins: $r0
|
|
# CHECK: PS_storerhabs 0, killed $r0
|
|
# CHECK: PS_jmpret
|
|
|
|
name: func1
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
bb.0:
|
|
liveins: $r31
|
|
successors: %bb.1, %bb.2
|
|
J2_jumpt undef $p0, %bb.2, implicit-def $pc
|
|
J2_jump %bb.1, implicit-def $pc
|
|
|
|
bb.1:
|
|
liveins: $r31
|
|
successors: %bb.3
|
|
$r1 = A2_tfrsi 1
|
|
PS_storerhabs 0, undef $r0
|
|
$r0 = A2_tfrsi 1
|
|
J2_jump %bb.3, implicit-def $pc
|
|
|
|
bb.2:
|
|
liveins: $r31
|
|
successors: %bb.3
|
|
$r0 = L2_loadruh_io undef $r1, 0
|
|
PS_storerhabs 0, killed $r0
|
|
$r0 = A2_tfrsi 1
|
|
J2_jump %bb.3, implicit-def $pc
|
|
|
|
bb.3:
|
|
liveins: $r31
|
|
PS_jmpret killed $r31, implicit undef $r0, implicit-def $pc
|
|
...
|