Fix more register and coalescing dependencies.

llvm-svn: 130859
This commit is contained in:
Jakob Stoklund Olesen 2011-05-04 19:02:11 +00:00
parent 780e6d1f64
commit 5ea6203ea6
4 changed files with 7 additions and 9 deletions

View File

@ -6,7 +6,6 @@ define weak void @make_foo(%struct.foo_t* noalias sret %agg.result, i32 %a, i32
entry:
;CHECK: make_foo
;CHECK: ld [%fp+64], {{.+}}
;CHECK: or {{.+}}, {{.+}}, %i0
;CHECK: jmp %i7+12
%0 = getelementptr inbounds %struct.foo_t* %agg.result, i32 0, i32 0
store i32 %a, i32* %0, align 4

View File

@ -11,7 +11,7 @@
define i32 @t(%struct.asl_file_t* %s, i64 %off, i64* %out) nounwind optsize {
; CHECK: t:
; CHECK: adds r0, #8
; CHECK: adds {{r[0-7]}}, #8
entry:
%val = alloca i64, align 4 ; <i64*> [#uses=3]
%0 = icmp eq %struct.asl_file_t* %s, null ; <i1> [#uses=1]

View File

@ -7,8 +7,8 @@ entry:
; CHECK: Callee:
; CHECK: push
; CHECK: mov r4, sp
; CHECK: sub.w r12, r4, #1000
; CHECK: mov sp, r12
; CHECK: sub.w [[R12:r[0-9]+]], r4, #1000
; CHECK: mov sp, [[R12]]
%0 = icmp eq i32 %i, 0 ; <i1> [#uses=1]
br i1 %0, label %bb2, label %bb

View File

@ -30,9 +30,8 @@ entry:
define i32 @f3(i32 %A, i32 %B) nounwind readnone optsize {
entry:
; CHECK: f3
; CHECK: lsrs r2, r0, #7
; CHECK: mov r0, r1
; CHECK: bfi r0, r2, #7, #16
; CHECK: lsrs {{.*}}, #7
; CHECK: bfi {{.*}}, #7, #16
%and = and i32 %A, 8388480 ; <i32> [#uses=1]
%and2 = and i32 %B, -8388481 ; <i32> [#uses=1]
%or = or i32 %and2, %and ; <i32> [#uses=1]
@ -42,8 +41,8 @@ entry:
; rdar://8752056
define i32 @f4(i32 %a) nounwind {
; CHECK: f4
; CHECK: movw r1, #3137
; CHECK: bfi r1, r0, #15, #5
; CHECK: movw [[R1:r[0-9]+]], #3137
; CHECK: bfi [[R1]], {{.*}}, #15, #5
%1 = shl i32 %a, 15
%ins7 = and i32 %1, 1015808
%ins12 = or i32 %ins7, 3137