Skip to content

Commit 4de0c40

Browse files
committed
[NFC][ARM] Fix update_llc_test_checks for armv7-apple-ios, autogenerate ifcvt5.ll/ifcvt6.ll
1 parent 8c01deb commit 4de0c40

File tree

3 files changed

+61
-7
lines changed

3 files changed

+61
-7
lines changed

llvm/test/CodeGen/ARM/ifcvt5.ll

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,30 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc < %s -mtriple=armv7-apple-ios -mcpu=cortex-a8 | FileCheck %s -check-prefix=A8
23
; RUN: llc < %s -mtriple=armv7-apple-ios -mcpu=swift | FileCheck %s -check-prefix=SWIFT
34
; rdar://8402126
45

56
@x = external global i32* ; <i32**> [#uses=1]
67

78
define void @foo(i32 %a) "frame-pointer"="all" {
9+
; A8-LABEL: foo:
10+
; A8: @ %bb.0: @ %entry
11+
; A8-NEXT: movw r1, :lower16:(L_x$non_lazy_ptr-(LPC0_0+8))
12+
; A8-NEXT: movt r1, :upper16:(L_x$non_lazy_ptr-(LPC0_0+8))
13+
; A8-NEXT: LPC0_0:
14+
; A8-NEXT: ldr r1, [pc, r1]
15+
; A8-NEXT: ldr r1, [r1]
16+
; A8-NEXT: str r0, [r1]
17+
; A8-NEXT: bx lr
18+
;
19+
; SWIFT-LABEL: foo:
20+
; SWIFT: @ %bb.0: @ %entry
21+
; SWIFT-NEXT: movw r1, :lower16:(L_x$non_lazy_ptr-(LPC0_0+8))
22+
; SWIFT-NEXT: movt r1, :upper16:(L_x$non_lazy_ptr-(LPC0_0+8))
23+
; SWIFT-NEXT: LPC0_0:
24+
; SWIFT-NEXT: ldr r1, [pc, r1]
25+
; SWIFT-NEXT: ldr r1, [r1]
26+
; SWIFT-NEXT: str r0, [r1]
27+
; SWIFT-NEXT: bx lr
828
entry:
929
%tmp = load i32*, i32** @x ; <i32*> [#uses=1]
1030
store i32 %a, i32* %tmp
@@ -13,11 +33,30 @@ entry:
1333

1434
define i32 @t1(i32 %a, i32 %b) "frame-pointer"="all" {
1535
; A8-LABEL: t1:
16-
; A8: bxlt lr
17-
36+
; A8: @ %bb.0: @ %entry
37+
; A8-NEXT: cmp r0, #11
38+
; A8-NEXT: movlt r0, #1
39+
; A8-NEXT: bxlt lr
40+
; A8-NEXT: LBB1_1: @ %cond_true
41+
; A8-NEXT: push {r7, lr}
42+
; A8-NEXT: mov r7, sp
43+
; A8-NEXT: mov r0, r1
44+
; A8-NEXT: bl _foo
45+
; A8-NEXT: mov r0, #0
46+
; A8-NEXT: pop {r7, pc}
47+
;
1848
; SWIFT-LABEL: t1:
19-
; SWIFT: bxlt lr
20-
; SWIFT: pop {r7, pc}
49+
; SWIFT: @ %bb.0: @ %entry
50+
; SWIFT-NEXT: cmp r0, #11
51+
; SWIFT-NEXT: movlt r0, #1
52+
; SWIFT-NEXT: bxlt lr
53+
; SWIFT-NEXT: LBB1_1: @ %cond_true
54+
; SWIFT-NEXT: push {r7, lr}
55+
; SWIFT-NEXT: mov r7, sp
56+
; SWIFT-NEXT: mov r0, r1
57+
; SWIFT-NEXT: bl _foo
58+
; SWIFT-NEXT: mov r0, #0
59+
; SWIFT-NEXT: pop {r7, pc}
2160
entry:
2261
%tmp1 = icmp sgt i32 %a, 10 ; <i1> [#uses=1]
2362
br i1 %tmp1, label %cond_true, label %UnifiedReturnBlock

llvm/test/CodeGen/ARM/ifcvt6.ll

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc < %s -mtriple=armv7-apple-ios | FileCheck %s
23

34
define void @foo(i32 %X, i32 %Y) {
5+
; CHECK-LABEL: foo:
6+
; CHECK: @ %bb.0: @ %entry
7+
; CHECK-NEXT: cmp r1, #0
8+
; CHECK-NEXT: cmpne r0, #3
9+
; CHECK-NEXT: bxhi lr
10+
; CHECK-NEXT: LBB0_1: @ %cond_true
11+
; CHECK-NEXT: push {lr}
12+
; CHECK-NEXT: bl _bar
13+
; CHECK-NEXT: pop {lr}
14+
; CHECK-NEXT: bx lr
415
entry:
5-
; CHECK: cmpne
6-
; CHECK: bxhi lr
716
%tmp1 = icmp ult i32 %X, 4 ; <i1> [#uses=1]
817
%tmp4 = icmp eq i32 %Y, 0 ; <i1> [#uses=1]
918
%tmp7 = or i1 %tmp4, %tmp1 ; <i1> [#uses=1]

llvm/utils/UpdateTestChecks/asm.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ class string:
142142
flags=(re.M | re.S))
143143

144144
ASM_FUNCTION_ARM_IOS_RE = re.compile(
145+
r'^_(?P<func>[^:]+):\n'
146+
r'(?P<body>.*?)'
147+
r'^[ \t]*@[ \t]--[ \t]End[ \t]function',
148+
flags=(re.M | re.S))
149+
150+
ASM_FUNCTION_THUMB_IOS_RE = re.compile(
145151
r'^_(?P<func>[^:]+):[ \t]*\n'
146152
r'^Lfunc_begin(?P<id>[0-9][1-9]*):\n'
147153
r'(?P<body>.*?)'
@@ -376,7 +382,7 @@ def get_run_handler(triple):
376382
'thumb': (scrub_asm_arm_eabi, ASM_FUNCTION_ARM_RE),
377383
'thumb-macho': (scrub_asm_arm_eabi, ASM_FUNCTION_ARM_MACHO_RE),
378384
'thumbv5-macho': (scrub_asm_arm_eabi, ASM_FUNCTION_ARM_MACHO_RE),
379-
'thumbv7-apple-ios' : (scrub_asm_arm_eabi, ASM_FUNCTION_ARM_IOS_RE),
385+
'thumbv7-apple-ios' : (scrub_asm_arm_eabi, ASM_FUNCTION_THUMB_IOS_RE),
380386
'm68k': (scrub_asm_m68k, ASM_FUNCTION_M68K_RE),
381387
'mips': (scrub_asm_mips, ASM_FUNCTION_MIPS_RE),
382388
'msp430': (scrub_asm_msp430, ASM_FUNCTION_MSP430_RE),

0 commit comments

Comments
 (0)